我的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;
我不确定我还缺少什么,或者我是否正确地这样做了?
感谢
答案 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从混合中删除。