使用 google 标签管理器将 javascript 插入特定的 div
Insert javascript to a specific div using google tag manager
我目前使用 Google 标签实现 iframe 代码 - 使用以下代码将 HTML 自定义到目标页面上的特定 div (id="empty-div") 和它工作得很好。 Google 标签管理器(自定义 Html 标签 + 触发器)
自定义 HTML 标签:
<script type="text/javascript">
jQuery('[id="empty-div"]').html('<iframe src="https://feed.mikle.com/widget/v2/115010/" height="1200px" width="100%" class="fw-iframe" scrolling="no" frameborder="0"></iframe>');
</script>
我想用下面提供的代码替换上面的 iframe 代码。
<script type="text/javascript" src="https://feed.mikle.com/js/fw-loader.js" data-fw-param="115010/"></script>
寻找简单的实现
在 Google 跟踪代码管理器
中发布时执行以下操作会导致错误
<script type="text/javascript">
jQuery('[id="empty-div"]').html('<script type="text/javascript" src="https://feed.mikle.com/js/fw-loader.js" data-fw-param="115010/"></script>');
</script>
我查了导致错误的原因。
Parse error. Unterminated string literal
在 Gtag 中,您正在添加一个添加脚本的脚本。当您上传代码时,它将变成一大行文本。该文本以 <script>
开头,以 </script>
结尾。在 HTML 中一切正常,但由于它是 string
脚本标签将过早关闭,因为中间还有另一个 </script>
标签关闭第一个标签.让其后的所有代码都无法解析,并会抛出错误。
所以我建议您使用下面的脚本,它将使用原版 JavaScript 创建一个新的 <script>
元素,设置正确的 src
并将其放入 <div id="empty-div">
.我选择不使用 jQuery
,因为我发现没有它更容易解释会发生什么。它对性能或其他 JavaScript 没有影响。
我不明白为什么要在 div 中附加 <script>
,因为这不是常见的做法,也不会对 <div id="empty-div">
产生任何影响, 但我相信你有你的理由。
<script>
(function () {
var empty = document.getElementById('empty-div'); // Select empty div
var script = document.createElement('script'); // Create new script element
script.setAttribute('data-fw-param', '115010'); // Add the data-fw-param attribute
script.async = true; // Set async to true. This can improve performance
script.src = https://feed.mikle.com/js/fw-loader.js; // Set the src to the script
empty.appendChild(script); // Insert the script into the empty div
}())
</script>
我在 this SO thread 中找到了问题的解释。请搜索浏览器或工具给您的错误以供将来参考。您将有更多机会更快地找到答案!
希望这对您有所帮助,祝您编码愉快!
我目前使用 Google 标签实现 iframe 代码 - 使用以下代码将 HTML 自定义到目标页面上的特定 div (id="empty-div") 和它工作得很好。 Google 标签管理器(自定义 Html 标签 + 触发器)
自定义 HTML 标签:
<script type="text/javascript">
jQuery('[id="empty-div"]').html('<iframe src="https://feed.mikle.com/widget/v2/115010/" height="1200px" width="100%" class="fw-iframe" scrolling="no" frameborder="0"></iframe>');
</script>
我想用下面提供的代码替换上面的 iframe 代码。
<script type="text/javascript" src="https://feed.mikle.com/js/fw-loader.js" data-fw-param="115010/"></script>
寻找简单的实现
在 Google 跟踪代码管理器
中发布时执行以下操作会导致错误<script type="text/javascript">
jQuery('[id="empty-div"]').html('<script type="text/javascript" src="https://feed.mikle.com/js/fw-loader.js" data-fw-param="115010/"></script>');
</script>
我查了导致错误的原因。
Parse error. Unterminated string literal
在 Gtag 中,您正在添加一个添加脚本的脚本。当您上传代码时,它将变成一大行文本。该文本以 <script>
开头,以 </script>
结尾。在 HTML 中一切正常,但由于它是 string
脚本标签将过早关闭,因为中间还有另一个 </script>
标签关闭第一个标签.让其后的所有代码都无法解析,并会抛出错误。
所以我建议您使用下面的脚本,它将使用原版 JavaScript 创建一个新的 <script>
元素,设置正确的 src
并将其放入 <div id="empty-div">
.我选择不使用 jQuery
,因为我发现没有它更容易解释会发生什么。它对性能或其他 JavaScript 没有影响。
我不明白为什么要在 div 中附加 <script>
,因为这不是常见的做法,也不会对 <div id="empty-div">
产生任何影响, 但我相信你有你的理由。
<script>
(function () {
var empty = document.getElementById('empty-div'); // Select empty div
var script = document.createElement('script'); // Create new script element
script.setAttribute('data-fw-param', '115010'); // Add the data-fw-param attribute
script.async = true; // Set async to true. This can improve performance
script.src = https://feed.mikle.com/js/fw-loader.js; // Set the src to the script
empty.appendChild(script); // Insert the script into the empty div
}())
</script>
我在 this SO thread 中找到了问题的解释。请搜索浏览器或工具给您的错误以供将来参考。您将有更多机会更快地找到答案!
希望这对您有所帮助,祝您编码愉快!