【发布时间】:2013-11-07 10:49:36
【问题描述】:
我正在尝试加载具有某些功能的远程脚本并在 IE9 中内联执行它。 但是我遇到了一条错误消息,指出我的函数未定义。
归结为 IE9(似乎更低)以与我预期相反的顺序执行脚本。我做了一个简化的例子,但对我来说仍然产生同样的错误。
<script type="text/javascript" src="multibanner_rev04_tmp.js"></script>
<script type="text/javascript">alert('nr.2');</script>
为了便于阅读,我编辑了一个较长的脚本路径,它只有一个警报,没有别的。
警报“nr.2”在 IE9 中 multibanner_rev04_tmp.js 中的警报之前执行 我已经在多台装有 IE9 的计算机上进行了尝试,以确保它不是与此相同的问题:IE9 js load order and JQuery
问题似乎是一致的。还在 IE10 上尝试过此操作,它确实按预期顺序执行警报。
我真的不明白这里发生了什么,有什么想法吗?
【问题讨论】:
-
multibanner_rev04_tmp.js的内容是什么?没有它,这个问题就没有多大意义。 -
@T.J.Crowder 这只是一个警报,就像这样:alert('nr.1');
-
@jesper:再次:显示脚本。如果我有一个仅包含
alert("file");的脚本文件,并完全按照您在上面使用的方式使用它(后面是带有alert("inline");的内联脚本),对于 IE9,我不会得到您描述的行为。我收到"file"警报,然后是"inline"警报。因此,如果您要声称确实如此,则必须展示一个完整的示例。这可能与您未展示的内容有关。 -
@jesper: 也不能用 IE8 或 IE6 复制(我手边没有 IE7)。 (您确实说过“而且似乎更低”)。我的测试用例:pastie.org/8462672(请注意,
type属性在上面没有任何作用,可以删除,但我想尽可能地复制你的测试用例。) -
@jesper:没有
doctype也无法复制(以防在alert周围有一些奇怪的怪癖):pastie.org/8462681
标签: javascript internet-explorer-8 internet-explorer-9