使用脚本在代码中搜索变量,然后运行javascript

use script to search for variables in code, then run javascript

本文关键字:变量 然后 运行 javascript 搜索 脚本 代码      更新时间:2023-09-26

我有一段JavaScript,我希望它能在定制的intranet上只为特定的用户组运行。JavaScript目前在网站上运行良好,但为了将其限制在用户范围内,我认为我需要一些If>Then>Else语句。唯一的问题是,它需要检查当前页面的源代码中是否有大约30个变量(我希望JavaScript的显示限制为每个工作人员一个)。

我怎样才能做到这一点?

我希望它搜索页面源(加载后)的一个示例是:profilepopup.aspx?uid=63、OR、profilepopup.aspx?uid=216、OR profilepopup.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';中找到。

首先尝试获取"参数"值:

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    
}

希望这有帮助:/

相关文章: