如何以编程方式阻止/执行javascript块?

时间:2014-11-26 10:50:32

标签: javascript jquery html

让我们有一个通用的javascript代码片段,例如:

<!-- Google Analytics -->
<script async src='//www.google-analytics.com/analytics.js'></script>
<script>
window.ga=window.ga||function(){(ga.q=ga.q||[]).push(arguments)};ga.l=+new Date;
ga('create', 'UA-XXXX-Y', 'auto');
ga('send', 'pageview');
</script>
<!-- End Google Analytics -->

有没有办法避免在页面加载时执行此脚本?然后将其激活(通过javascript),就像它从头开始一样?

解决方案是将type =“text / plain”添加到<script>标记以停止执行。为了稍后激活它们,我们可以创建一个空<script type="text/javascript"></script>并将修改后的脚本的内容放入其中(对于具有src属性的脚本标记,我们可以创建一个具有相同src属性的<script type="text/javascript" src="..."></script>。修改了一个)并将其添加到页面。

但我正在寻找的是获得相同的结果,无需修改脚本本身,可能将其(实际上)包含在另一个标记中,或者不是将其转换为字符串并将其插入到使用jQuery.parseHTML()的页面。

有什么想法吗?任何帮助将不胜感激。

谢谢!

1 个答案:

答案 0 :(得分:2)

function runMeLater() {
   var script = document.createElement('script');
      script.setAttribute('src', '//www.google-analytics.com/analytics.js');
      document.body.appendChild(script);

    window.ga=window.ga||function(){(ga.q=ga.q||[]).push(arguments)};ga.l=+new Date;
    ga('create', 'UA-XXXX-Y', 'auto');
    ga('send', 'pageview');
}