如何在Sitecore后端插入自定义Java脚本
非常简单,我需要在Sitecores(6.4版)后端插入一个脚本-我该怎么做 脚本是否放在如何在Sitecore后端插入自定义Java脚本,sitecore,sitecore6,Sitecore,Sitecore6,非常简单,我需要在Sitecores(6.4版)后端插入一个脚本-我该怎么做 脚本是否放在或中并不重要,我是否只能指定标记的src,或者我是否可以插入实际的Javascript片段也不重要(但后者更可取) 打开内容编辑器窗口时,需要将脚本插入HTML中 这不是我自己的安装,我也没有为Sitecore开发任何东西(不过我有管理员权限),所以我认为安装插件是最好的解决方案 我之前在Sitecore 5.4中插入了该脚本,但不是以一种很好的方式(编辑XML文件),如果在这里也能找到更好的解决方案,那就
或
中并不重要,我是否只能指定
标记的src
,或者我是否可以插入实际的Javascript片段也不重要(但后者更可取)
打开内容编辑器窗口时,需要将脚本插入HTML中
这不是我自己的安装,我也没有为Sitecore开发任何东西(不过我有管理员权限),所以我认为安装插件是最好的解决方案
我之前在Sitecore 5.4中插入了该脚本,但不是以一种很好的方式(编辑XML文件),如果在这里也能找到更好的解决方案,那就太好了
使用Sitecore Xpress 6中的Jens Mikkelsens答案进行更新:
我尝试将以下内容放置在web.config中:
<clientscripts>
<everypage>
<script src="/test.js" language="javascript" />
</everypage>
<htmleditor>
<script src="/test.js" language="javascript" />
</htmleditor>
</clientscripts>
其中,路径标记只是父文件夹名称,因此我知道加载了哪个test.js,例如inetpub\wwwroot\SitecoreWebsite\WebSite\sitecore\shell\Applications\Content Manager\test.js包含:
alert("Test Content Manager");
当我尝试使用默认的Xpress管理员用户登录时,会发生以下三种情况之一(在所有三种情况下,前端加载都没有错误,但没有脚本。我已经无法确定错误发生的时间,我唯一可以确定的是,当test.js未包含在web.config中时,不会发生错误):
案例1:
内容编辑器按预期加载,但未加载任何脚本。在包含clientscript的大多数情况下都会发生这种情况
案例2-服务器错误:
Server Error in '/' Application.
Exception Details: System.ArgumentException: Empty strings are not allowed.
Parameter name: value
Stack Trace:
[ArgumentException: Empty strings are not allowed.
Parameter name: value]
Sitecore.Diagnostics.Assert.ArgumentNotNullOrEmpty(String argument, String argumentName) +241
Sitecore.Web.UI.HtmlControls.PageScriptManager.GetEveryPageScripts() +410
Sitecore.Web.UI.HtmlControls.PageScriptManager.GetScripts() +702
Sitecore.Web.UI.HtmlControls.Page.OnInit(EventArgs e) +62
System.Web.UI.Control.InitRecursive(Control namingContainer) +143
System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +1477
案例3-Sitecore错误:
A required license is missing
Most likely causes:
The resource you are trying to access requires the following license: Runtime.
我不确定Xpress是否只是不支持clientscripts,但即使它不支持clientscripts,有时内容编辑器加载也是很奇怪的
在Sitecore 5.4完整版本中测试后更新:
正如Jens Mikkelsen回答的那样,在web.config的
部分中放置一个脚本标记确实有效。但是,有必要将其放置在
小节中,以使其显示在后端的每个页面上,而
仅适用于Sitecore 5.4中的Telerik RadEditor弹出窗口
在Sitecore 6完整版本中测试后更新:
与Sitecore 5.4所述的方法同样适用于Sitecore 6,只是增加了一点:
中嵌入的
现在需要一个键
属性:
<clientscripts>
<everypage>
<script src="/test.js" language="javascript" key="test script" />
</everypage>
</clientscripts>
我认为您无法在不修改文件的情况下添加脚本。但是,您可以查看web.config中的
部分。您可以在那里添加要加载的脚本。但是,我不知道它是否只会在内容编辑器中加载
我以前也尝试过这个,最后我使用了上面的设置,但我记得它也加载到了页面编辑器和桌面上。也许你可以使用在前端的
中添加控件,但可以改为使用
管道以某种方式将新的
标记注入编辑器。 这是一个很好的例子在
下有一个子节点,名为
——我想这就是你应该添加它的地方。我尝试过这种方法,遇到了一些问题-请检查我的问题,以了解这方面的更新。
<clientscripts>
<everypage>
<script src="/test.js" language="javascript" key="test script" />
</everypage>
</clientscripts>