相关疑难解决方法(0)

如何控制Javascript执行顺序?

我正在构建一个网页,我遇到了一些并发问题.基本上,我有三个脚本文件,我用来保存一些数据:

script1.js:

var myValue = 1;
Run Code Online (Sandbox Code Playgroud)

script2.js:

var myValue = 2;
Run Code Online (Sandbox Code Playgroud)

script3.js:

var myValue = 3;
Run Code Online (Sandbox Code Playgroud)

我有一个页面,mypage.html,基本上看起来像这样:

<html>
<script>
   function get_number()
   {
     var script_file = GetQueryStringValue( "run" );
     e = document.createElement('script');
     e.type='text/javascript';
     e.src = script_file + ".js"
     head.appendChild( e );

     document.write( myValue );
   }
</script>
<body onload="get_number()">
   <div onclick="get_number()">Click me!</div>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)

这个页面的主要思想是你会这样查询它: mypage.html?run=script1 它会告诉get_number()函数动态插入script1.jsmypage.htm.然后,我调用get_number()显示从脚本加载的值.

现在,我已经将上述内容简化为我认为的相关部分,显然我遗漏了很多东西.我的实际代码加载了大量的值并且更有趣......但是,我希望有人可以帮助我解决这个问题.

我发现在IE中,数字显示正确.

在Firefox,Chrome和Safari中,我收到一个myValue未定义的错误.但是,如果单击Click me我创建的div,则数字会正确显示.所以,我知道我正在加载javascript外部文件.但是,它只是没有及时加载我的get_number()功能正常工作onload.

现在,我稍微修改了我的文件,以便get_number函数看起来像这样:

 function get_number() …
Run Code Online (Sandbox Code Playgroud)

html javascript cross-browser

2
推荐指数
1
解决办法
1万
查看次数

标签 统计

cross-browser ×1

html ×1

javascript ×1