2015-06-18 20 views
0

我爲這些列表創建了一個包含多個列表和多個CSR呈現器的站點。我通過JSLink將渲染器應用於表單。然後我嘗試將該網站保存爲模板,並從此tempalte創建另一個。所有的JS鏈接現在都被打破,無處可逃。從模板創建網站後,JSlink發生更改

這是從最初的網站JSLinks之一:

<JSLink xmlns="http://schemas.microsoft.com/WebPart/v2/ListForm">~Site/SiteAssets/FormsManagement/Js/utils.js|~Site/SiteAssets/FormsManagement/Js/paymentsFormRenderer.js</JSLink> 
</WebPart> 

,這裏是模板創建後它改爲:

<JSLink xmlns="http://schemas.microsoft.com/WebPart/v2/ListForm">/sites/home/test-subsite/SiteAssets/FormsManagement/Js/utils.js|/sites/home/test-subsite/SiteAssets/FormsManagement/Js/paymentsFormRenderer.js</JSLink> 

這些變化打破了所有我的社會責任,我有不知道如何解決它。我知道這兩個鏈接必須是等效的,儘管在重新創建的子網站上,瀏覽器嘗試從cdn.sharepointonline.com的域中加載JavaScript,這是錯誤的。 (我懷疑這是由於錯誤的相對尋址)。

所有的幫助非常感謝!提前致謝。

回答

1

所以我想通了。我不確定問題是什麼,但我發現解決方法似乎很好。

我完全想到使用JSLink,而是使用<SharePoint:ScriptLink>標籤,並且包含腳本。我包裝了我的腳本,以便它們使用ExecuteOrDelayUntilScriptLoaded([Script's closure here], 'clientForms.js'); 這看起來與使用JSLink的結果相同,但JSLink中的標記未擴展到相關URL並且鏈接未斷開。唯一的缺點是沒有人可以在沒有Sharepoint Designer的情況下修改腳本,因爲它們不再列在JSLink字段中。