合并来自多个javascript块的代码会导致错误吗?

合并来自多个javascript块的代码会导致错误吗?,javascript,Javascript,我们在网站中使用以下跟踪代码进行第三方跟踪。代码是从第三方网站复制的,可以正常工作,但请注意,它被分为三个javascript标记块。由于这些块彼此紧挨着,我假设可以将代码组合成一个块,一切都会很好(我想在AJAX回调部分调用这些代码)。但是,当我组合代码时,会得到一个“未捕获的引用错误:未定义mm_变量” 考虑到代码仍然以相同的顺序和范围执行,我试图理解组合标记部分会有什么不同?是否存在我不知道的范围界定问题 <!-- Begin Metrics Tracking Code -->

我们在网站中使用以下跟踪代码进行第三方跟踪。代码是从第三方网站复制的,可以正常工作,但请注意,它被分为三个javascript标记块。由于这些块彼此紧挨着,我假设可以将代码组合成一个块,一切都会很好(我想在AJAX回调部分调用这些代码)。但是,当我组合代码时,会得到一个“未捕获的引用错误:未定义mm_变量”

考虑到代码仍然以相同的顺序和范围执行,我试图理解组合标记部分会有什么不同?是否存在我不知道的范围界定问题

<!-- 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 -->

变量mm_c='D76E1F476160000000000';
var mm_protocol=((“https:==document.location.protocol)?“https://”:“http://”);
write(unescape(“%3Cscript src=”+mm_protocol+”www.mongoosemetrics.com/jsfiles/js correlation/mm getvar.js'type='text/javascript'%3E%3C/script%3E”);
/*自定义参数*/
/*强制默认\u编号设置参数不删除*/
变量默认值_number='8889996666';/*仅限10位数字,即8881234567*/
write(unescape(“%3Cscript src=”+mm_协议+”www.mongoosemetrics.com/jsfiles/js correlation/mm control.php%3F“+mm_变量+””type='text/javascript“%3E%3C/script%3E”);

我假设
mm_变量
在通过加载的脚本中定义

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 src='http://www.mongoosemetrics.com/jsfiles/js-correlation/mm-getvar.js' type='text/javascript'></script>

还要记住,这是一个跟踪脚本。如果它是在加载DOM之后追加的,则可能无法正常工作(无论出于何种原因)。也许他们还提供了一些通过Ajax加载参数的方法(应该在他们的文档中提到)。

我假设
mm\u变量
是在通过加载的脚本中定义的

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 src='http://www.mongoosemetrics.com/jsfiles/js-correlation/mm-getvar.js' type='text/javascript'></script>

还要记住,这是一个跟踪脚本。如果它是在加载DOM之后追加的,则可能无法正常工作(无论出于何种原因)。也许他们还提供了一些通过Ajax加载参数的方法(应该在他们的文档中提到)。

谢谢,我没有意识到动态加载的脚本变量是不可访问的。。。所以,如果我想在回调中调用所有这些代码,你能推荐一种方法吗?你到底想在回调中调用什么?请注意,您不能(不应该)调用
文档。请在加载DOM后编写
。我需要包含一个次要的自定义参数(在中间的块中),我们必须使用AJAX请求检索该参数。我正在试图弄清楚我们如何设置它,以便此代码只在检索到该参数后执行。谢谢,我没有意识到动态加载的脚本变量将无法访问。。。所以,如果我想在回调中调用所有这些代码,你能推荐一种方法吗?你到底想在回调中调用什么?请注意,您不能(不应该)调用
文档。请在加载DOM后编写
。我需要包含一个次要的自定义参数(在中间的块中),我们必须使用AJAX请求检索该参数。我正试图弄清楚我们如何设置它,使这段代码只在检索到该参数后执行。