单击功能区中单击列表选项卡时的“ ProjectTaskButtonAppName”是不确定的
题
单击SP2010功能区的“列表”选项卡中的项目任务列表中,我将遇到以下JavaScript错误,该项目列表我已将其放入default.aspx页面上的WebPart中:
网页错误详细信息
用户代理:Mozilla/4.0(兼容; MSIE 8.0; Windows NT 6.1; WOW64; WOW64; TRIDEN/4.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR CLR 3.0.30729;媒体中心PC 6.0; 。
消息:'ProjectTaskButtonAppName'是未定义的行:1302 char:9代码:0 URI:
http://sptest/_layouts/sp.ribbon.debug.js?rev=lc6eCMZP6gL5LnuSYh0S6Q%3D%3D
我已经进行了广泛的搜索,没有发现任何其他投诉。
有人知道我可以检查什么?我的机器上没有MS项目,但肯定不会破坏JS。
解决方案 4
我通过在打破的JS中添加尝试捕获来解决问题。我对sp.ribbon.debug.js进行了以下更改:1302-行
try{
return !eval($v_0.HiddenScript);
}
catch(e){
return true;
}
现在,功能区按钮至少可以使用。我想我必须在sp.ribbon.js中进行同样的更改。
也许这是由于我没有在盒子上安装MS项目。
无论如何,这也希望这对其他可怜的灵魂也有所帮助。
其他提示
色带图标是灰色的,但仍然有效/可用。如果您单击其他地方,它们往往会带着颜色重生。似乎是具有解决方法的SP错误/脚本错误。
我的项目任务列表也有同样的问题。为了摆脱此问题,我测试了项目任务列表的不同Web零件设置。对我有用的选项是将工具栏类型设置为:完整工具栏。
我试图通过将列表视图WebPart的工具栏属性设置为“无工具栏”,从而在列表/库视图上隐藏“新链接”,我遇到了此错误。然后,我发现下面列出的不同方法。
在此之前,请将所需的WebPart的工具栏属性更改为“摘要工具栏”。
方法1(简单)
在您在网站中使用的通用JS文件(或创建新的JS文件,将其上传到资产库中,并在您的网站主页中提供参考)添加以下代码。这只需创建一个空的DIV并将其添加到页面上。有用!
<script type="text/javascript" language="javascript">
var elemDivTaskButton = document.createElement('div');
document.body.appendChild(elemDivTaskButton);
var projectTaskButtonAppName = (typeof projectTaskButtonAppName === 'undefined') ? elemDivTaskButton : projectTaskButtonAppName;
</script>
方法2
- 创建一个带有下面代码的HTML文件,然后将其上传到siteassets库中。
- 编辑列表的“ allitems.aspx”页面(或添加列表视图的所需页面),然后添加内容编辑器webpart(CEWP)。
- 编辑内容编辑器WebPart和在“ content Link”属性(在WebPart属性面板上)指定上述HTML文件URL。单击“确定”。
在顶部色带上的“页面”选项卡中,单击“停止编辑”。现在检查页面。 JS错误应该消失。
//Invoke HideNewItemLinkAndActviateWP Method after PageLoad. _spBodyOnLoadFunctionNames.push("HideNewItemLinkAndActviateWP"); function HideNewItemLink() { try { HideNewItemLink('Hero-WPQ2'); SetWebPartActive('MSOZoneCell_WebPartWPQ2'); } catch(err) { //Handle errors here } } function HideNewItemLink(tblId) { try { var tblNewItemLink = null; tblNewItemLink = document.getElementById(tblId); if(tblNewItemLink != null) { tblNewItemLink.style.display='none'; } } catch(err) { //Handle errors here } } function SetWebPartActive(wpId) { setTimeout(function() { var webPart = document.getElementById(wpId); if(webPart != null) { var dummyEvent = new Array(); dummyEvent["target"] = webPart; dummyEvent["srcElement"] = webPart; WpClick(dummyEvent); } }, 200) }
当您将工具键从“标准”更改为xsltlistviewwebpart上的“标准”时,我已经注意到此问题发生
尝试添加内容编辑器webpart,然后在第一个方法中给出的代码 -
<script type="text/javascript" language="javascript">
var elemDivTaskButton = document.createElement('div');
document.body.appendChild(elemDivTaskButton);
var projectTaskButtonAppName = (typeof projectTaskButtonAppName === 'undefined') ? elemDivTaskButton : projectTaskButtonAppName;
</script>