0

我有一段 JavaScript,我希望在定制的 Intranet 上只为一组特定的用户运行。JavaScript 目前在网站上并且工作正常,但为了将其限制为用户,我认为我需要某种 If>Then>Else 语句。唯一的问题是,它需要检查当前页面的源代码中的大约 30 个变量(我希望 JavaScript 的显示限制在每个员工身上)。

我怎样才能做到这一点?

我希望它搜索页面源(加载后)的一个示例是:profilepopup.aspx?uid=63、OR、、profilepopup.aspx?uid=216ORprofilepopup.aspx?uid=185等等。
uid= xx是每个用户的唯一ID,但是在某些站点的页面上,可能会出现多个uid,因此需要包含“profilepopup.aspx?” 部分也是如此。那个确切的字符串只会出现一次。

如果它们中的任何一个存在,我需要它来添加/使用:

<script type="text/javascript" src="//assets.zendesk.com/external/zenbox/v2.6/zenbox.js"></script>
<style type="text/css" media="screen, projection">
  @import url(//assets.zendesk.com/external/zenbox/v2.6/zenbox.css);
</style>
<script type="text/javascript">
    if (typeof (Zenbox) !== "undefined") {
        Zenbox.init({
            dropboxID: "xxxxxxxx",
            url: "https://foobar.zendesk.com",
            tabTooltip: "Support",
            tabImageURL: "https://assets.zendesk.com/external/zenbox/images/tab_support.png",
            tabColor: "#d8732d",
            tabPosition: "Left"
        });
    }
</script>

如果这些变量中的任何一个不存在,我不希望它添加/使用该脚本。

我对脚本中的功能很糟糕。有人对如何做到这一点有建议吗?

编辑:

事实上,我刚刚找到了另一个特定于特定公司中任何人的唯一 ID,我只想将其限制为一个公司,因此在功能中使用它可能会更好,因为只有一件事要搜索。需要注意的是,特定的字符串在标题中的脚本内......我不知道这是否会使它变得更容易或更难。

公司 ID 位于var myFirmID = '487136f1-4e60-4d1c-a98a-4c01e5b14ed6';.

4

1 回答 1

0

首先尝试获取“参数”值:

function getParameter(check) {
    var check = $('#ctl00_MyProfile_lnkMyProfile').data('open'),
        //url = window.location.search.substring(1),
        val = check.split('?');

    for (var i = 0; i < val.length; i++)  {
        var name = val[i].split('=');

        if (name[0] == check)  {
            return name[1];
        }
    }
}​

// profilepopup.aspx?uid=185
getParameter('uid'); // 185

然后将返回值与您的变量进行比较

var checks = [ "30", "43", "43" ],
    check = getParameter('uid');

if($.inArray(check, check) > -1){
    //do something    
}

希望这可以帮助 :/

于 2013-08-02T02:20:31.803 回答