我为这些列表创建了一个包含多个列表和几个CSR呈现器的站点。我通过JSLink将渲染器应用到表单中。然后,我尝试将站点保存为模板,并从这个模板创建另一个站点。现在所有的JS链接都被打破了,没有任何线索。
下面是最初站点中的一个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,这是错误的。(我怀疑这是由于亲属地址错误所致)。
所有的帮助都非常感谢!提前谢谢。
发布于 2015-06-18 13:38:13
所以我想明白了。我不知道是什么问题,但我发现解决办法似乎很好。
我完全想要使用JSLink,而不是使用<SharePoint:ScriptLink>标记,并以这种方式包含脚本。我封装了我的脚本,以便它们使用ExecuteOrDelayUntilScriptLoaded([Script's closure here], 'clientForms.js'); --这似乎产生了与使用JSLink相同的结果,但是JSLink中的令牌没有扩展到相对urls,链接也没有中断。唯一的缺点是没有人能够在没有Sharepoint的情况下修改脚本,因为它们不在JSLink字段中列出。
https://stackoverflow.com/questions/30911085
复制相似问题