sharepoint和Jquery

时间:2016-02-25 14:15:40

标签: jquery sharepoint web-parts

我的SharePoint页面上有一个Web部件,其中包含一些HTML和一些JavaScript插件。

现在,在编辑此页面时,我已经了解了如何处理与JQuery的冲突,以下是我的想法。但是,当我保存并查看页面时,它仍然无效,因为我的Jquery插件永远不会初始化。

 <script src="../master_page_items/jquery-2.2.0.min.js"></script>
<script src="../master_page_items/jquery-ui-1.11.4/jquery-ui.js"></script>
<script src="../master_page_items/picture_slider.js"></script>
<script type="text/javascript" src="https://c64.assets-yammer.com/assets/platform_embed.js"></script>

<script language="Javascript" type="text/javascript">
_spBodyOnLoadFunctionNames.push("init");

function init()
{

jQuery("#slider").easySlider({
        auto: true,
        continuous: true,
                pause:5000,
                prevText: '',
        nextText: ''
    });


    jQuery('.nav li').hover(
      function () { //appearing on hover
        jQuery('ul', this).fadeIn();
      },
      function () { //disappearing on hover
       jQuery('ul', this).fadeOut();
      }
    );


  yam.connect.embedFeed(
      { 
         container: '#customright',
        network: 'aon.com'
  });   
}


</script

&GT;

我不确定我还缺少什么,或者我是否正确地这样做了?

感谢

2 个答案:

答案 0 :(得分:0)

考虑到你已经为Jquery提到了正确的文件路径并且正确处理了冲突,首先尝试使用小例子看看它是否有效。

_spBodyOnLoadFunctionNames.push("myFunctionName");
function myCustomName(){
 alert('a');
}

如果上面的代码警告“a”,那么你的jquery引用是正确的,并且_spBodyOnLoadFunctionNames.push()正常运行。

你可以尝试

jQuery(document).ready(function() {
 ExecuteOrDelayUntilScriptLoaded(myCustomName, "sp.js");
});

我希望图片滑块中使用的值已存在于页面上。

答案 1 :(得分:0)

问题可能出在&#34; ..&#34;在您的jquery文件的路径中。我现在无法尝试,但通常我使用服务器相对URL来引用我的jquery文件。这样你就可以将网页部分放在网站的任何页面上,仍然可以参考它。所以像/sites/MySite/MySubsite/master_page_files/jquery-2.2.0.min.js

除了Vaibhav所说的,我也只是尝试:

JQuery(document).ready(function(){
    alert('b');
});

确保加载JQuery并将SP从混合中删除。