首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用JavaScript隐藏WSS3.0 WSS部件

使用JavaScript隐藏WSS3.0 WSS部件
EN

Stack Overflow用户
提问于 2013-10-15 18:38:13
回答 2查看 1.1K关注 0票数 0

我在我的应用程序中使用WSS3.0。我以DataView Webpart的形式显示一个列表。我在这里的目标是使这个网页部分对选定的一组人可见。由于在WSS3.0中没有针对目标受众的选项,所以我选择了编辑列表的权限,并且只将读取权限授予选定的用户。这并不是对页面隐藏web部件,而是向其他用户显示拒绝访问的消息。

访问被拒绝。您没有执行此操作或访问此资源的权限。

正如我说过的,我想隐藏这个web部件,就像让它在网页上不可见一样,让没有权限查看它的其他用户看不到它。由于此消息将只显示给那些没有权限的用户,所以我的方法是在html中搜索上面的消息,并识别和隐藏父节点,从而隐藏who部件。

我不太清楚该怎么做。有什么想法吗?提前感谢!

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-10-15 19:01:44

我将假设您所处的情况是,您可以向页面添加其他web部件,而不是直接将JavaScript添加到DataView Web部件。如果设计人员添加此列表的另一个视图,我的建议将无法在单独的页面上工作。

将空白.js文件上载到站点资产。将内容编辑器Web部件添加到页面中,将其指向该文件。从提供程序中添加JQuery或者自己托管它,在文件中添加引用。在这里,您有三个工作方向:第一,使用Internet的F12开发工具探索web部件,特别关注具有良好的唯一if、名称或类的div和表,如果隐藏这些if、名称或类可以解决问题。还要注意div或表或单元格的id,或者任何包含被拒绝访问的文本的内容。第二,(假设你是JQuery新手)做一些JQuery教程,然后开始选择上面的项目,比如改变它们的背景色。在这两种情况下,您都达到了90%:(尝试)选择包含拒绝访问的文本的对象,如果innerHTML存在并等于该字符串,则为div或表设置display:none以隐藏web部件。您拥有的第三个工具是直接使用SharePoint Designer编辑页面:您可以在任何xsl:template周围抛出一个带有您选择的id的div,这可能有助于您选择JQuery。

很抱歉,我不能给你具体的代码,因为我不能测试它。如果这种情况有所改变,我将尝试给出一个更详细的答复。

老的,错误的答案:https://stackoverflow.com/questions/752676/change-access-denied-text-string-for-document-library-web-part的任何一个答案对你有用吗?或者,http://social.technet.microsoft.com/Forums/sharepoint/en-US/9332cbe8-fda4-48de-a397-5f42bff9bf73/sharepoint-2010-custom-access-denied-page答案有一些很好的资源来解决您的问题。只需将消息更改为空字符串即可。

票数 0
EN

Stack Overflow用户

发布于 2013-10-17 01:55:51

谢谢阿伦:D

我找到了网页部件的标识,并对其进行了硬编码。它提供了解决方案,但我希望通过搜索innerhtml来以编程方式获取id,因为我有多个必须隐藏的web部件。

我在这里找到了一个部分解决方案:使用javascript onclick方法隐藏SharePoint web部件

我在页面上添加了一个CEWP,并在其中添加了以下脚本:

代码语言:javascript
复制
<script>
function hide()
{
    var content = document.getElementById("webpartID").innerHTML;
    var n = content.search("Access denied. You do not have permission to perform this action or access this resource");
    if(n!=-1)
    {       document.getElementById("webpartID").style.display="none";
    }
}
_spbodyonloadfunctionnames.push("hide");
</script>

在我的例子中,我从aspx页面或页面的查看源获取webpart id。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19388666

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档