动态(2级)Javascript/CSS加载IE6
我正在尝试将js(和css)文件动态地包含到如下网页中: index.html->loader_a.js->a_foo.js、a_bar.js、a_foo.css等等。动态(2级)Javascript/CSS加载IE6,javascript,css,dynamic,internet-explorer-6,Javascript,Css,Dynamic,Internet Explorer 6,我正在尝试将js(和css)文件动态地包含到如下网页中: index.html->loader_a.js->a_foo.js、a_bar.js、a_foo.css等等。 虽然这在FF(使用appendChild)中没有问题,但我无法让它在IE6中运行。 我尝试过各种可用的解决方案(从()添加到dom节点、ajax调用和eval,以及其他类似post#2013676的解决方案),但它并没有做到它应该做的 当我使用DebugBar检查时,我看到我的包含文件(例如a_foo.js)实际上已加载,但其内
虽然这在FF(使用appendChild)中没有问题,但我无法让它在IE6中运行。 我尝试过各种可用的解决方案(从()添加到dom节点、ajax调用和eval,以及其他类似post#2013676的解决方案),但它并没有做到它应该做的 当我使用DebugBar检查时,我看到我的包含文件(例如a_foo.js)实际上已加载,但其内容为空-在其他包含的文件(1级/直接)上显示此内容,因此我假设存在问题 我得到的“错误”总是未定义的对象,即o/c b/c。我调用的函数没有正确加载,因此没有太多帮助。我没有发现任何包含错误。
我已经验证了Java脚本,所以那些脚本应该是可以的 有没有人有解决这个问题的终极方案? 如果有帮助,我可以重新创建测试并发布一些代码 谢谢, 当做 托马斯 示例HTML:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<HTML lang=en><HEAD><TITLE>Test</TITLE>
<script type="text/javascript" src="mmtest_files/jquery-1.4.2.min.js"></script>
<script type="text/javascript" src="mmtest_files/multiload.js"></script>
<script type="text/javascript" >
function init2() {
// using the data from the loaded js files
var a= mmf("a");
document.getElementById('status').innerHTML = "Variable set:" + a;
}
// magic...
include(['mmt.js'],init2);
</script>
<BODY >
<H2>Test me!</H2>
<SPAN id=status>status old</SPAN>
</BODY></HTML>
试验
函数init2(){
//使用加载的js文件中的数据
var a=mmf(“a”);
document.getElementById('status').innerHTML=“变量集:”+a;
}
//魔法。。。
包括(['mmt.js'],init2);
考验我!
旧身份
JS 1是来自答案1的多重加载
JS2是一项测试,包括:
函数mmf(参数)
{
返回“用”+参数调用”;
}为了并行加载脚本,您需要在ie中使用document.write 见: 顺便说一句,我有这样一个剧本: (可能需要在铬中进行一些增强)
更新 有一个回调函数,它是可选的。它可以用于将依赖脚本耦合到文件。例如:
function myjQueryCode() {
// ...
}
include(['jquery.js','jquery-ui.js'], myjQueryCode);
因此,您的jquery依赖代码将在加载文件后运行。我会尝试这样做-但我马上有一些问题/评论:您站点()的源代码中的JSURL不再有效(需要是galambalazs.fw.hu)。然后检查“typeof callback==”function”“--function是有意的吗?为什么?最后,脚本是依赖于WebKit,还是不依赖WebKit就可以工作?(WebKit/i.test(navigator.userAgent))是的,链接指向旧版本,但是您可以查看代码的源代码。webkit黑客是我要考虑的问题,这是一个临时修复。是的,它可以跨浏览器工作。关于回调,我更新了我的答案。哦,现在我明白了,我错误地键入了回调的
typeof==“function”
部分。这不是故意的。我会马上更新它。我已经更新了一个美国托管网站的链接。这也应该更快。仍然不适用于我-相同的丢失对象问题-请参阅原始帖子中的示例代码