我在一般堆栈溢出网站上发布了这一点,但这似乎是一个更好的发布SharePoint问题的地方。

我正在尝试将自定义Web应用程序(联系人列表)从SharePoint 2010移动到SharePoint 2013.联系人列表通过使用jQuery来显示带有图片的名称,然后单击深灰色栏后显示其余部分这样的联系方式: http://imgur.com/w29puj4

列表在SharePoint 2010中完美地工作,但不是2013年。这是似乎正在破坏的代码:

<script type="text/javascript" language="javascript">
jQuery('#' + '<%= firstpane.ClientID %>' + " div.menu_head").click(function () 
{
jQuery(this).css({ backgroundImage: "" }).next("table.menu_body").slideToggle(100).siblings("table.menu_body").slideUp("fast");
jQuery(this).siblings().css({ backgroundImage: "" });
});

</script>
.

在SharePoint 2010中单击联系人时,信息表将完美显示。 2013年,显示联系人栏,但单击时不会切换。当我在开发人员工具中运行它时,我收到错误说明:

在IE: script5009:'jquery'未定义

在Chrome中: 未捕获的ReferenceError:jQuery未定义

如果我尝试将jquery更改为$,那么我得到了相同的错误,而是没有定义它。我检查了SharePoint中jQuery文件的权限,它表示文件是可访问的。有谁知道如何解决这一问题?谢谢!

roger

有帮助吗?

解决方案

roger, 查看错误描述它似乎对我来说,jQuery库没有正确加载,你可以检查你的jQuery.min.js文件参考。确保它指向当前网站地址。

还尝试将其更改为按照行,以查看是否有效。如果您的引用不正确,则不会执行jQuery脚本。

将此代码放在您的页面上(脚本编辑器Web部件),并查看它是否正确执行。

<script src="//ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
<script>
$(document).ready(function(){
alert('loaded');
});
</script>
.

其他提示

不确定您在哪里存储您的js文件,但是如果您将它们存储在布局文件夹中,则需要引用您现在将其存储的内容。示例:

2010:src=“/ _ layouts / js / jquery-1.11.0.js”

2013:src=“/ _ layouts / 15 / js / jquery-1.11.0.js”

希望这有帮助!

许可以下: CC-BY-SA归因
scroll top