Javascript小部件在Sharepoint Web部件中不起作用

时间:2012-02-11 10:59:35

标签: javascript sharepoint sharepoint-2010 sharepoint-designer

我有一个javascript小部件,可以从3d party网站加载内容,我需要在sharepoint web部分中使用它。问题是小部件可以在任何地方工作(wordpress,其他网站等),但不在sharepoint web部分内。

粘贴在Web部件中,它只会在保存后显示$ 0之类的字符,奇怪的是如果我粘贴一个不同的小部件,比如推特上的推文,它可以回复上一条推文。

是否有人可以查看代码并告诉我它是否有问题?我是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>

2 个答案:

答案 0 :(得分:2)

答案 1 :(得分:0)

我的建议是将webpart所依赖的所有webpart元素作为嵌入式资源包含在您的_layouts文件夹中。这将确保任何图像,xml,图标和脚本都在适当的位置运行。在这里,我假设require-jquery.js未通过SharePoint解决方案(wsp)与您的webpart一起部署。您还应该在webpart的PreRender方法中注册客户端脚本,或使用以下示例获取内联代码,

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

希望这有帮助。