非常簡單,我需要在Sitecores(v.6.4)後端插入腳本 - 我該如何做?如何在Sitecore後端插入自定義Javascript
如果腳本放在裏面<head>
或<body>
不要緊,也不如我只能指定一個<script>
標籤的src
或者,如果我可以插入一個實際的JavaScript代碼段有什麼關係(後者爲首選,雖然) 。
打開內容編輯器窗口時,需要將腳本插入到HTML中。
這不是我自己的安裝,也不是爲Sitecore開發任何東西(但是我有管理員權限),所以安裝插件方面的東西是我認爲最好的解決方案。
我以前在Sitecore 5.4中插入腳本,但不是以一種漂亮的方式(編輯XML文件),如果在這裏也可以找到更好的解決方案,那會很棒。
更新使用延Mikkelsens答案Sitecore的隨心6:
我試圖把web.config中的以下內容:
<clientscripts>
<everypage>
<script src="/test.js" language="javascript" />
</everypage>
<htmleditor>
<script src="/test.js" language="javascript" />
</htmleditor>
</clientscripts>
作爲一個有點過分熱心(並希望確保test.js文件可以找到)我把js.test放在以下位置:
- in etpub \ wwwroot的\ SitecoreWebsite \網頁\ Sitecore的\殼\應用程序\的Content Manager \
- 的Inetpub \ wwwroot的\ SitecoreWebsite \網頁\ Sitecore的\殼\應用程序\
- 的Inetpub \ wwwroot的\ SitecoreWebsite \網頁\ Sitecore的\殼\
- 的Inetpub \ wwwroot的\ SitecoreWebsite \網頁\ Sitecore的\
- 的Inetpub \ wwwroot的\ SitecoreWebsite \網頁\
的test.js的內容:
alert("Test [PATH TOKEN]");
其中路徑標記只是父文件夾名稱,所以我知道哪個test.js已加載,例如,的Inetpub \ wwwroot的\ SitecoreWebsite \網頁\ Sitecore的\殼\應用程序\的Content Manager \ test.js認爲:
alert("Test Content Manager");
當我嘗試登錄使用默認隨心admin用戶的三種情況之一發生(在所有三個我有不是能夠確定何時發生錯誤,我唯一可以肯定的是,當test.js沒有被包含在網絡中時,沒有錯誤發生的.config):
案例1:
如預期的內容編輯器的負荷,但沒有腳本被加載。發生這種情況的大部分時間是clientcript被包括在內。
案例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.
我不知道是否隨心根本不支持clientscripts,但即使內容編輯器加載時不奇怪。在Sitecore的測試5.4正式版後
更新:
它確實工作把腳本標籤<clientscripts>
部分內部在web.config中的延斯·米克爾森回答。但是,需要將其放在<everypage>
小節中以使其出現在後端的每個頁面上,而<htmleditor>
僅適用於Sitecore 5.4中的Telerik RadEditor彈出窗口。在Sitecore的6測試完整版後
更新:
方法同與另外的小東西了Sitecore的描述5.4作品Sitecore的6:<script>
嵌入<clienscripts>
現在需要key
屬性:
<clientscripts>
<everypage>
<script src="/test.js" language="javascript" key="test script" />
</everypage>
</clientscripts>
一個很好的例子,有在'一個子節點''叫' - 我想這就是你添加它。 –
2012-01-30 15:09:22
我試過這種方法並遇到一些問題 - 請檢查我的問題以獲取更新。 – Woodgnome 2012-02-01 10:25:30