我可以使用Visualforce編輯salesforce/visualforce頁面的默認佈局嗎?有沒有辦法獲取/編輯Visualforce頁面的默認佈局?
最終目標是修改「編輯」和「新建」操作的默認佈局,以便在外部API的特定字段上添加某種自動完成功能。
我希望能夠添加我的JavaScript代碼而不需要完全重寫Visualforce頁面。
我可以使用Visualforce編輯salesforce/visualforce頁面的默認佈局嗎?有沒有辦法獲取/編輯Visualforce頁面的默認佈局?
最終目標是修改「編輯」和「新建」操作的默認佈局,以便在外部API的特定字段上添加某種自動完成功能。
我希望能夠添加我的JavaScript代碼而不需要完全重寫Visualforce頁面。
您可以在主頁組件中添加下面的jQuery。打開一個新的帳戶頁面並在運輸國家或結算國家字段中鍵入內容,您將自動完成操作。在下面的腳本中,我有一個國家的靜態數組,您可以通過與您的外部服務器進行集成來實現動態數組。
步驟:
1)創建一個類型爲HTML區域和縮小部分的主頁組件,並添加下面的腳本。
2)將主頁組件添加到主頁佈局。
3)確保選中「在所有頁面上顯示自定義側欄組件」(設置 - >應用程序設置 - >用戶界面)。
4)點擊一個新帳戶並輸入'In',你會發現autocomplee正在運行。
<script src="http://code.jquery.com/jquery-1.8.2.js"></script>
<script src="http://code.jquery.com/ui/1.9.0/jquery-ui.js"></script>
<link rel="stylesheet" href="http://code.jquery.com/ui/1.9.1/themes/base/jquery-ui.css"/>
<script type="text/javascript">
/*Create a new variable j$ just to avoid any conflicts with other libraries which may be using $.*/
var j$ = jQuery.noConflict();
/*Capture the list of countries in a Array.*/
var countryArray = ['India', 'USA', 'China','FInland','Norway','Netherlands','England','Ukraine','Russia','Japan','Korea','Burma','Srilanka','Iran','Iceland','Canada','Rome','Australia','Armenia','Albania','Afghanisthan'];
/*on Document ready*/
j$(document).ready(function(){
j$("#acc18country, #acc17country").autocomplete({
source : countryArray
});
});
</script>
希望這 「絕招」 爲你的作品!
P.S:如果您使用的是谷歌Chrome瀏覽器,那麼這可能不會第一次。當你加載頁面時,你可能會在地址欄的右側看到一個灰色的盾牌,點擊它並選擇「加載不安全的javascript」。爲了避免這種情況,請將javascript和css文件添加到靜態資源中,然後在腳本標記中引用它們。
編輯:
現在要從外部API提取數據,您應該添加下面的代碼。
<script src="/soap/ajax/26.0/connection.js" type="text/javascript"></script>
var sid = getCookie('sid'); /*get the session ID cookie*/
var server = "https://" + window.location.host + "/services/Soap/u/26.0";
sforce.connection.init(sid, server);/*Initialize the sforce connection*/
sforce.connection.remoteFunction({
url: "https://api.github.com/user/",
requestHeaders: {"Content-Type":"application/json"}
onSuccess : function(response) {
console.log('The response is ' +JSON.stringify(response));
},
onFailure : function(response) {
console.log("The request Failed with error: " + response)
});
但是,提出這個要求,確保您在遠程站點設置(設置 - >根據管理員>安全控制 - >遠程站點設置)添加外部API(https://api.github.com)之前
如果你有側邊欄組件啓用,那麼你可以在側邊欄中的JavaScript,使用它你可以添加自動完成功能到新的和編輯頁面。附加好處是你不必提出任何音頻頁面 – Anamadeya
你有這個「詭計」的例子嗎? – Oxymore