你能等到onload事件之前定义一个函数吗?

时间:2014-06-24 02:08:49

标签: javascript load onload

首先,我主要想知道在点击window.onload之前,您是否可以使用function定义<button>而不实际运行<button>

我有一些我用JavaScript设计的应用程序,其中一些是针对我使用的特定网站设计的,但在这些网站上,我无法让其他用户选择使用我的应用而不会让网页永远占用加载其中一些。你可以在http://jsfiddle.net/kaloncpu57/B9wCn/找到我的应用,但我不认为问题出在我的应用中(除非你能找到一种方法将它们压缩到几乎没有)。

另外,作为参考,我遇到麻烦的网站是wapka.mobi网站,如http://3dsflare.wapka.mobi,如果你想真正去那里测试解决方案(你需要注册) )。

为了让其他用户能够访问我的应用程序,我将外部脚本与defer一起放入我的签名中以运行它们(我意识到在签名中允许脚本有多少安全问题,以及相信我,它一直被剥削)。遇到问题的用户正在使用不支持外部脚本的window.onload属性的设备,经过多次尝试后,我留下的唯一解决方案是使用window.onload = function加载函数加载所有其他内容后的每个应用,但只使用function ...当然只运行function

是否可以等到页面加载以定义{{1}},还是有人有任何其他解决方案?提前感谢您提供任何有用的信息。

2 个答案:

答案 0 :(得分:0)

请尝试阅读此blog,了解网页如何加载更快

特别是这部分:

例如,您在<head>代码

上有此内容
<script type="text/javascript" src="myscript1.js"></script>
<script type="text/javascript" src="myscript2.js"></script>

将其更改为:

<script type="text/javascript" src="fastload.js"></script>

然后在fastload.js:

function addJavascript(jsname) {
var th = document.getElementsByTagName('head')[0];
var s = document.createElement('script');
s.setAttribute('type','text/javascript');
s.setAttribute('src',jsname);
th.appendChild(s);
}
addJavascript('myscript1.js');
addJavascript('myscript2.js');

希望这对你有所帮助。

答案 1 :(得分:0)

你有一些.gif图像超时并将加载事件延迟大约15秒。