首页 > 解决方案 > 在某些条件下在 index.html 中运行脚本

问题描述

我们有这个脚本,只有当用户代理是 ReactSnap 时我们才想运行它。我试过这样做,但它似乎不起作用。

<script>
     if(navigator.userAgent!=='ReactSnap'){
        <script src='//cdnt.netcoresmartech.com/smartechclient.js'</script>
     }
</script>

标签: javascript

解决方案


此解决方案等待将脚本元素添加到页面,直到我们知道条件为真(在 Chrome 中测试):

<body>

  <div>Page content goes here</div>

  <script>
    let conditionalScript = document.createElement("script");
    conditionalScript.innerHTML = "alert('woo!')";
    // (But set .src instead of .innerHTML)

    let userAgent = 'ReactSnap';
    if(userAgent == 'ReactSnap'){
      // (But check `navigator.userAgent` instead of `userAgent`)
      document.querySelector("body").appendChild(conditionalScript);
    }
  </script>

</body>


推荐阅读