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

标签 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>)并将其添加到页面中。

但是我正在寻找的是获得相同的结果而不修改脚本本身,可能将其(按原样)包含到另一个标签中,或者不是将其转换为字符串并让它插入到带有 jQ​​uery.parseHTML() 的页面。

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

谢谢!

最佳答案

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');
}

关于javascript - 如何以编程方式阻止/执行 javascript block ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27147197/

相关文章:

javascript - CSS 属性转换失败

javascript - 使用 jquery 使动画异步/同步的干净方法

html - css 在一个文件中工作,但在另一个文件中不工作

html - "Float:right"未应用于提交按钮

javascript - 脚本不会在 html 文件中执行

javascript - 水平滚动自动对焦

javascript - 使用javascript读写sqlite数据库

javascript - jQuery .focus() 不适用于文本区域

javascript - 如果数据库值等于 x 则运行 JavaScript

html - 仅当子菜单包裹在 div 容器中时才更改父菜单的背景颜色