Mar*_*ski 7 sharepoint web-parts sharepoint-2010
在SharePoint 2010中,我在上面的列表中添加了我的webpart(标准列表或文档库列表 - 没关系).在此"列表工具"选项卡不可见之后.经过一番挖掘后我发现,即使我添加了一个标准的SharePoint WebParts,这个问题仍然存在.
以下是相同的问题和描述如何重现它:http: //www.endusersharepoint.com/STP/viewtopic.php?f = 10&t = 2027
有没有人为此找到解决方案或真正的解决方法?
//编辑:我找到了一个"解决方案".功能区与"实际"webpart连接.单击列表(以设置焦点)并再次显示选项卡:D
dje*_*eeg 13
将Web部件添加到标准列表视图时,该页面不再被归类为列表视图页面,而是被归类为应用程序页面.
这意味着您丢失了功能区菜单以及面包屑中的视图选择器.
UPDATE
您可以在以下位置查看隐藏视图选择器的代码:
Microsoft.SharePoint.WebControls.ListTitleViewSelectorMenu.SingleWebPartPresentOnPage
但我似乎无法找到隐藏功能区的代码.
UPDATE
好的,我认为这样可行,使用以下代码添加内容编辑器Web部件:
<script>
setTimeout(function() {
var elem = document.getElementById("MSOZoneCell_WebPartWPQ2");
if(elem != null) {
var dummyevent = new Array();
dummyevent["target"] = elem;
dummyevent["srcElement"] = elem;
WpClick(dummyevent);
}
}, 2000);
</script>
Run Code Online (Sandbox Code Playgroud)
将MSOZoneCell_WebPartWPQ2 id替换为列表视图Web部件的Web部件区域单元格.
小智 8
这对我有用,但它从选择的文档选项卡开始,我更喜欢选择默认的浏览选项卡,所以我只是在代码中添加了一个简单的行,重新选择默认选项卡:
<script>
setTimeout(function() {
var elem = document.getElementById("MSOZoneCell_WebPartWPQ2");
if(elem != null) {
var dummyevent = new Array();
dummyevent["target"] = elem;
dummyevent["srcElement"] = elem;
WpClick(dummyevent);
_ribbonStartInit("Ribbon.Browse", true)
}
}, 2000);
</script>
Run Code Online (Sandbox Code Playgroud)
在调试器中大量使用SharePoint JS之后,我终于找到了一种方法来防止这个问题.
在SharePoint 2010中:
//Set focus on our list web part
var webPart = document.getElementById('WebPartWPQ1');
WpClick({target: webPart});
//Prevent it from losing focus
SP.Ribbon.WebPartComponent.$3_1.deselectWebPartAndZone = function() { };
Run Code Online (Sandbox Code Playgroud)
在SharePoint 2013 Beta中:
//Set focus on our list web part
var webPart = document.getElementById('MSOZoneCell_WebPartWPQ2');
WpClick({target: webPart});
//Prevent it from losing focus
SP.Ribbon.WebPartComponent.$3.deselectWebPartAndZone = function() { };
Run Code Online (Sandbox Code Playgroud)
注意:这是超级hacky,并且不受Microsoft支持(因此很可能在将来的版本中更改,甚至可能在SharePoint 2013的RTM中更改).
另请注意,您的Web部件ID可能不同,因此您应该仔细检查是否将焦点放在正确的Web部件上.
说明:它基本上覆盖了SP.Ribbon.WebPartComponent取消选择Web部件的能力的实例.据我所知,$ 3/$ 3_1属性存储对SP.Ribbon.WebPartComponent实例的引用.
如果有人知道更好的方法来访问SP.Ribbon.WebPartComponent$ 3/$ 3_1属性以外的实例,请大胆说明,因为这会使这种方法更加健壮.
| 归档时间: |
|
| 查看次数: |
38378 次 |
| 最近记录: |