1

我有一個JavaScript小部件,它從3D派對網站加載內容,我需要在SharePoint部件中使用它。問題在於這個小部件可以在任何地方工作(wordpress,其他網站等),但不在sharepoint web部件中。Javascript小部件不能在Sharepoint web部件中工作

貼在網頁部分,它只顯示保存後的$ 0字符,奇怪的是,如果我粘貼一個不同的小部件像twitter一個來檢索最後一個tweets它的作品。

有沒有人可以看看代碼並告訴我是否有什麼問題?我是一個有sharepoint的新手,我不得不清除網站名稱和網址,因爲該項目尚未公開......謝謝!

<link rel='stylesheet' type='text/css' href='xxx/stylesheets/widget.css'/> 

<div id='xxx'></div> 

<script type='text/javascript'> 
var require = document.createElement('script'); 
require.src= 'xxx/javascripts/require-jquery.js'; 
(document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(require); 
var xxx = document.createElement('script'); 
xxx.src= 'xxx/plugins/4f357c414918c20001000003.js'; 
require.onload = function() { 
    $r = jQuery.noConflict(); 
    (document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(xxx); 
} 
</script> 

回答

0

我的建議是,包括在其上的WebPart依賴於作爲嵌入資源或您_layouts文件夾中所有的WebPart元素。這將確保任何圖像,XML,圖標和腳本在適當的位置運行。這裏我假定require-jquery.js沒有通過SharePoint解決方案(wsp)與您的webpart一起部署。你也應該在註冊Web部件的prerender方法中的客戶端腳本,或者使用下面的示例中內嵌代碼,

<SharePoint:ScriptLink ID="skl" Name="ProjectName/Scripts/require-jquery.js" runat="server" OnDemand="false" Localizable="false" /> 

希望這有助於。

+0

謝謝薩爾!你是對的沒有js被部署在Sharepoint上,因爲我將在其他網站中使用該小部件,並且我想要所有文件集中,它們都被託管在提供該小部件的我的3d party網站上。奇怪的是,像Twitter這樣的其他JavaScript小部件工作就像在網絡部分的魅力,但我不是...我不是專家與Sharepointanyway我會嘗試你的解決方案,如果沒有其他方式。 – Freerider 2012-02-11 12:18:43

1
+0

謝謝你拉維!現在,小部件在內容編輯器Web部件中顯示得很好,唯一的問題是小部件按鈕內部的每次單擊都會導致主頁面刷新,有什麼想法? – Freerider 2012-02-14 15:08:09

+0

你可以在按鈕onclick方法中使用return false嗎? – 2012-02-15 05:36:12

+0

它與回報錯誤的工作,謝謝拉維現在的小工具就像一個魅力! :) – Freerider 2012-02-16 10:03:12