我们在我们的网站中使用以下跟踪代码进行第三方跟踪。该代码是从第三方网站复制而来的,并且工作正常,但请注意它被分成三个JavaScript标记块。由于这些块彼此相邻,我假设我可以将代码组合到一个块中,并且一切都会好起来的(我想在AJAX回调部分中调用此代码)。但是,当我组合代码时,我得到一个“Uncaught ReferenceError:mm_variables not defined”。从多个JavaScript块合并代码会导致错误?
由于代码以相同的顺序和范围仍然执行,我想了解如何结合的标记部分将有什么区别?有没有我不知道的范围问题?
<!-- Begin Metrics Tracking Code -->
<script type="text/javascript">
var mm_c = 'd76e1f47616000000000000000';
var mm_protocol = (("https:" == document.location.protocol) ? "https://" : "http://");
document.write(unescape("%3Cscript src='" + mm_protocol + "www.mongoosemetrics.com/jsfiles/js-correlation/mm-getvar.js' type='text/javascript'%3E%3C/script%3E"));
</script>
<script type="text/javascript">
/* Custom Parameters */
/* MANDATORY default_number Setup Parameter DO NOT REMOVE */
var default_number='8889996666'; /* 10 Digits Only i.e. 8881234567 */
</script>
<script type="text/javascript">
document.write(unescape("%3Cscript src='" + mm_protocol + "www.mongoosemetrics.com/jsfiles/js-correlation/mm-control.php%3F" + mm_variables + "' type='text/javascript'%3E%3C/script%3E"));
</script>
<!-- End Metrics Tracking Code -->
感谢,我没有意识到的是,动态加载脚本的变量将无法访问......所以如果我想叫所有这些代码在回调中,你能推荐的方法? – Yarin
你想要在回调中调用什么?请注意,在加载DOM后,您不能(不应该)调用'document.write'。否则它会覆盖内容。 –
我需要包含一个辅助自定义参数(在中间块),我们必须使用AJAX请求检索。我试图弄清楚如何设置它,以便只有在我们检索到该参数后才能执行此代码。 – Yarin