我有一个简单的页面,我在其中加载了几个远程 JavaScript 文件(我需要它们,但没有本地副本)。
我加载的脚本与这些类似:
<script type="text/javascript" src="http://mymachine/donald/script1.js"></script>
<script type="text/javascript" src="http://mymachine/donald/script2.js"></script>
在页面的第一次加载中,我收到了几条关于与这两个脚本相关的对象的错误消息。所以我认为页面在下载和执行脚本之前得到呈现。如果我尝试重新加载同一页面(缓存中加载了脚本),我不会收到任何错误。
但是,如果我尝试下载每个文件两次,即使浏览器的缓存是干净的,我也不会收到任何错误。我认为这是一种糟糕的方法,但我不知道还有什么替代方法。
是否有允许我在脚本未下载之前停止呈现页面的标记?还是浏览器的一个选项? (我不喜欢这个替代方案,但它可能只有一个)。我只需要支持 Internet Explorer 7。
我已经使用类似于此的 js 的双重加载部分解决了问题:
但这是正确的吗?
<script type="text/javascript" src="http://mymachine/donald/script1.js"></script>
<script type="text/javascript" src="http://mymachine/donald/script1.js"></script>
<script type="text/javascript" src="http://mymachine/donald/script2.js"></script>
<script type="text/javascript" src="http://mymachine/donald/script2.js"></script>
这些库彼此不依赖。事实上,如果交替加载 script1 和 script2,错误仍然存在。
这很奇怪,我想 <script>
<head>
中的标签确实阻止了页面,直到他们被下载。
它们是您的 <head>
中的第一个脚本吗?部分?它们至少需要在任何依赖它们的 JavaScript 之前出现。
我是一名优秀的程序员,十分优秀!