繁体   English   中英

动态(2级)JavaScript / CSS加载IE6

[英]Dynamic (2 levels) Javascript/CSS Loading IE6

我正在尝试将js(和css)文件动态地包含在这样的网页中:index.html-> loader_a.js-> a_foo.js,a_bar.js,a_foo.css等。
虽然这在FF(使用appendChild)中没有问题,但我无法在IE6中运行它。 我尝试了各种可用的解决方案(将其添加到dom节点,ajax调用和eval中,以及其他更多解决方案,网址为( http://ntt.cc/2008/02/10/4-ways-to-dynamically-load-external-javascriptwith-source .html )在这里和那里,以及其他类似文章#2013676),但它没有做应做的事情。

当我使用DebugBar检查时,我看到我的包含文件(例如a_foo.js)实际上已加载,但其内容为空-在其他包含的文件(1级/直接)上,此内容已显示,因此我认为存在问题.. 。

我得到的“错误”始终是未定义的对象,它是o / cb / c,我调用的函数未正确加载,因此没有太多帮助。 我没有在包含任何错误。
我已经验证了javascript,因此那些没事的人。

有人对此有最终解决方案吗? 我可以重新创建测试并发布一些代码(如果有帮助的话)。

谢谢,问候,托马斯

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>

JS 1是答案1的重载

JS2是一个测试,包括:

函数mmf(param){return“ Called with” + param; }

您需要使用document.write中的,以便并行加载脚本。

请参阅: 加载脚本而不阻塞

我有这样的脚本顺便说一句: 异步加载多个Javascript文件

(可能需要在Chrome中进行一些修饰)


更新

有一个回调函数,它是可选的。 它可用于将依赖脚本耦合到文件。 例如:

function myjQueryCode() {
   // ...
}

include(['jquery.js','jquery-ui.js'], myjQueryCode);

这样,依赖于jquery的代码将在文件加载后运行。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM