【问题标题】:JSlink changes after creating site from template从模板创建站点后 JSlink 更改
【发布时间】:2015-06-18 21:38:13
【问题描述】:

我创建了一个包含多个列表和用于这些列表的多个 CSR 渲染器的站点。我通过 JSLink 将渲染器应用于表单。然后我尝试将站点保存为模板并从这个模板创建另一个。现在所有的 JS 链接都断开了,而且无处可去。

这是来自初始站点的 JSLink 之一:

 <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>

这些更改破坏了我所有的 CSR,我不知道如何修复它。我知道这两个链接必须是等效的,尽管在重新创建的子站点上,浏览器尝试从 cdn.sharepointonline.com 的域加载 javascript,这是错误的。 (我怀疑这是由于错误的相对寻址)。

非常感谢所有帮助!提前致谢。

【问题讨论】:

    标签: sharepoint-2013 sharepoint-online jslink


    【解决方案1】:

    所以我想通了。我不确定问题出在哪里,但我发现解决方法似乎很有效。

    我完全放弃了使用 JSLink 的想法,而是使用&lt;SharePoint:ScriptLink&gt; 标记并以这种方式包含脚本。我包装了我的脚本,以便他们使用ExecuteOrDelayUntilScriptLoaded([Script's closure here], 'clientForms.js'); 这似乎产生与使用 JSLink 相同的结果,但 JSLink 中的标记没有扩展到相对 url 并且链接没有损坏。唯一的缺点是没有 Sharepoint Designer 任何人都无法修改脚本,因为它们不再列在 JSLink 字段中。

    【讨论】:

      猜你喜欢
      • 2010-10-10
      • 2011-02-19
      • 1970-01-01
      • 1970-01-01
      • 2014-07-16
      • 2023-03-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多