作者热门文章
- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
我正在修复我们在我们的一个网站上使用的模板,该模板具有以下代码
此代码段有效。
<script type="text/javascript" src="http://partner.googleadservices.com/gampad/google_service.js"></script>
<script type="text/javascript">
GS_googleAddAdSenseService("ca-pub-123");
GS_googleEnableAllServices();
</script>
<script type="text/javascript">
GA_googleAddSlot("ca-pub-123", "Foo");
GA_googleAddSlot("ca-pub-123", "Bar");
</script>
<script type="text/javascript">
GA_googleFetchAds();
</script>
我试过像这样连接静态脚本
<script type="text/javascript" src="http://partner.googleadservices.com/gampad/google_service.js"></script>
<script type="text/javascript">
GS_googleAddAdSenseService("ca-pub-123");
GS_googleEnableAllServices();
GA_googleAddSlot("ca-pub-123", "Foo");
GA_googleAddSlot("ca-pub-123", "Bar");
GA_googleFetchAds();
</script>
但是,现在我遇到了一个错误
Uncaught ReferenceError: GA_googleAddSlot is not defined
我不是 JavaScript 的菜鸟,但我无法想象为什么要将 3 个内联脚本组合成一个 <script>
标签在这里会有任何不同。
有什么想法吗?
最佳答案
google_service.js
没有定义 GA_googleAdSlot
,但它定义了 GS_googleEnableAllServices
。当 GS_googleEnableAllServices
被调用时,它使用 document.write
插入一个新的脚本元素,该元素加载了 GA_googleAdSlot
的定义。在当前正在执行的脚本元素结束之后,将新的脚本元素插入到文档中。这很复杂,但这是您的答案。
关于javascript - 如何将内联 JavaScript 合二为一?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25559652/
我是一名优秀的程序员,十分优秀!