如何将内联JavaScripts合并为一个
How to combine inline JavaScripts into one?
我正在修复我们在一个网站上使用的模板,该模板具有以下代码
这个片段有效。
<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
的定义。新的脚本元素在当前正在执行的脚本元素结束后插入到文档中。这很复杂,但这是你的答案。
看看这个:https://support.google.com/dfp_sb/answer/112649?hl=en
这是一份支持文件:
DFP Small Business需要不同的JavaScript块,如下所述不要组合JavaScript块,否则您的代码可能会中断
他们明确提到,您不应该组合Javascript块!
我不知道为什么,但只要文件中提到了这一点,你就必须遵守规则。
相关文章:
- 将两个Json提要合并为一个,并按时间排序
- 将javascript对象(属性+值)合并到一个对象中
- jQuery将代码合并为一个函数
- 将多个jquery函数合并为一个
- 将嵌套数组的元素合并到一个大数组中
- MongoDB聚合将两个不同的字段合并为一个并获取计数
- 如何将多个 Blender JSON 模型合并到一个 Three.js Object3D 对象中
- 在angularJS中合并来自一个服务的两个数组
- 如何使用ES6将两个具有函数的对象合并为一个新对象
- 将文档的MongoDB字段合并到一个文档中
- 将两个图像合并为一个,并使用javascript进行溢出隐藏
- 将值和属性从一个对象合并到另一个对象
- 将两个云代码函数合并为一个函数
- 如何在Three.JS中将两个BufferGeometry合并为一个BufferGeometrics
- 有没有一个lodash函数可以合并两个对象并删除其中一个对象的属性(如果它们没有)'不存在于另一个中
- 如何将两个json对象合并为一个json
- 将json作为子文档合并到另一个json中
- 创建大量的js文件或者合并为一个文件是一种好的做法吗
- 将CSS和JavaScript合并到一个文件中并进行链接
- 我如何隐藏一个列在html表中,它有一个合并的标题