日期:2014-05-16  浏览次数:20319 次

动态引入js文件的问题
本人最近在做一个js文件动态加入的事情,但是遇到了一些问题让我很疑惑,望各位高人指点指点。
问题如下:
1、采用原生js动态引入js文件,这样,在引入了js文件以后,在浏览器页面上可以找到对应的<script>标签。
但是,页面绑定的一些事件出现了不稳定情况,有时候可以成功执行,有时候无法执行。这是为什么呢?关于这一点我有以下猜测:在body元素还未加载完成,js动态引入已完成,那么就可以。body元素已经加载完成,js还未引入完成,就导致事件无法找到。
2、采用jquery方式,代码如下:
$("<script type = 'text/javascript' src='"+src+"'><\/script>").appendTo("head");
这种方式所有事件均能成功绑定和执行,但是在页面上找不到对应的<script>标签。并且在浏览器的debug模式下,无法找到脚本。但是可以通过查看请求的url看到响应的js文件中的内容。
由于本人js知识有限,一直未能弄懂,望各位解惑!

------解决方案--------------------
你这不是弄的挺明白吗
------解决方案--------------------
==
jQuery.ajax({
url : src,
type : "GET",
dataType : "script",
async : false,
global : false,
"throws" : true
});

------解决方案--------------------
简单的==这个。
var src = '3.js';
var xhr = new window.XMLHttpRequest();
xhr.open('GET',src,false);
xhr.send(null);
var responseText = xhr.responseText;
function globalEval(data){
window["eval"].call(window, data);
}
globalEval(responseText);
//var $a = aa();