我想知道是否有任何可用的资源来描述浏览器的光标如何执行Javascript。
我知道它在页面加载时加载并执行标记,您可以将函数附加到各种窗口事件,但事情变得模糊的地方是,例如,当我通过AJAX检索远程页面并将其内容放入div时。
如果远程页面必须加载<script src="anotherscript.js" />
等脚本库,那么何时加载"anotherscript.js“并执行其内容?
如果我在当前页面中包含"anotherscript.js“,然后加载一些包含此脚本的重复内容的远程内容,会发生什么情况?它会覆盖原来的吗?如果原始的"anotherscript.js“中有一个变量,我修改了它的值,然后我重新加载了那个文件……我是丢失了原始值,还是忽略了这个脚本的第二个包含?
如果我通过AJAX加载一些过程化的Javascript,它什么时候执行?在我做完mydiv.innerHTML(remoteContent)
之后?或者是在那之前执行的?
发布于 2010-02-27 00:19:56
如果你只是用"innerHTML“把一个包含脚本标签的超文本标记语言块塞进你的DOM,脚本标签根本不会被执行。当您使用jQuery之类的东西加载内容时,该库中的代码显式地处理脚本的查找和执行。
这并不准确,但您基本上可以将<script>
标记的处理看作是使用eval()
执行的标记的全部内容(即脚本主体)。如果脚本声明了全局(窗口)变量,那么旧值将被覆盖。
脚本标记按照它们出现的顺序进行处理。当然,可以设置脚本块中的代码,以便它在初始执行时所做的是将真正的处理推迟到以后。很多jQuery设置/初始化代码都可以做到这一点。
https://stackoverflow.com/questions/2342974
复制相似问题