我在寻找更多关于浏览器如何执行关于页面其余部分的异步样式脚本的更多信息。JavaScript异步加载和执行顺序
我有如下像这样的异步加载模式的JS脚本:
var s = document.createElement('script');
s.type = 'text/javascript';
s.async = true;
s.src = 'http://yourdomain.com/script.js';
var x = document.getElementsByTagName('script')[0];
x.parentNode.insertBefore(s, x);
我明白,这是一个非阻塞下载页面会继续,而这个下载加载。到现在为止还挺好。现在让我稍后说我声明了一些变量:
var x = "something";
我的问题是,这个变量可用于我以前加载的脚本?如果我做一个
alert(x);
在上面的脚本加载,它似乎工作,但我不知道它将永远如此。还有什么关于DOM元素。如果有一些DIV后来在页面:
<div id="myDiv"></div>
,在我的剧本我做
var div = document.getElementById("myDiv");
将这项工作正确
?在我的测试中,这些东西似乎可行,但我不确定是否有更多的页面内容可供异步脚本看到。
所以我的问题可以基本上缩小到,从一个异步加载的脚本访问项而不检查某些DOM加载的事件安全吗?