我指的是这个问题已经解决,但只是我正在寻找的解决方案的一部分: How to insert Google Analytics after clicking a button?
我希望在单击按钮后使用数据库中的动态跟踪代码。用例是一个选择插件(适用于Wordpress)。实际的跟踪代码来自数据库。它将由PHP查询,仅在用户提供确认后执行。
这是我的代码,到目前为止:
<script type="text/javascript">
(function( $ ) {
$("#button").click(function(){
var pixel = <?php echo $pixel; ?>;
$('head').append('<script>' + pixel + '</script>');
});
})( jQuery );
</script>
答案 0 :(得分:0)
在撰写问题并挣扎时,我找到了自己的解决方案:
首先出现的问题是链接问题中提到的脚本标签。如果我使用内联JavaScript,它将被解析,浏览器将抛出错误。但我需要内联JavaScript,因为我需要用PHP查询跟踪像素。所以我必须创建一个像这样的脚本元素:
var script = document.createElement("script");
接下来就是使用特殊字符,如换行符,回车符和引号。因此,可能不仅仅回显跟踪像素,它也会导致解析错误,因为跟踪像素肯定包含换行符和引号。所以在PHP中我需要替换它们。最简单的方法是:
var pixel = '<?php echo (str_replace("\n", "", str_replace("\r", "", str_replace("'", "\"", $pixel)))); ?>';
因此,最终和正在运行的代码将是:
<script type="text/javascript">
(function( $ ) {
$("#button").click(function(){
var pixel = '<?php echo (str_replace("\n", "", str_replace("\r", "", str_replace("'", "\"", $pixel)))); ?>';
var script = document.createElement("script");
script.innerHTML = pixel;
document.body.appendChild(script);
});
})( jQuery );
</script>