0

我有一段 JavaScript,我希望在定制的 Intranet 上只为一组特定的用户运行。

加载页面时,标题中有一个脚本,用于查询 MS SQL 数据库以获取特定于一组用户(例如办公室位置)的 ID。

我要运行的新 JavaScript 需要在 之前添加,但我希望它只显示给特定办公室 ID 的用户。

我引用的标题中的脚本使用:

<telerik:RadScriptBlock ID="script1" runat="server" EnableViewState="false">
<script type="text/javascript">

currentCollectionId = '<%= GetCurrentCollectionID() %>';
myFirmID = '<%= GetMyFirmID() %>';

$(function() etc...

我希望添加的 JavaScript 运行的myFirmID487136f1-4e60-4d1c-a98a-4c01e5b14ed6

有没有一种方法可以运行脚本来检查加载页面上是否存在此 ID,然后插入/运行新的 JavaScript ...

或者,在数据库中查询等于该值的 ID,然后添加/运行新脚本?

我要运行的新脚本是:

<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>

我如何实现这一目标?

4

1 回答 1

2

处理检查ID服务器端:

<% If "487136f1-4e60-4d1c-a98a-4c01e5b14ed6".Equals(GetMyFirmID()) Then %>
<script>
   ... 
</script>
<% End If %>

只有当公司 ID 是有问题的 ID 时,才会编写脚本。

如果 GetMyFirmID() 很昂贵并且您需要多次使用结果(我看到您也在 myfirmid 行上使用它),您可能希望将结果粘贴到变量中,而不是重复调用该方法。

希望有帮助。

于 2013-08-05T00:03:41.387 回答