让我们有一个通用的 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() 的页面。
有什么想法吗?任何帮助将不胜感激。
谢谢!
最佳答案
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/