Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/415.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 是否可以等到onload事件发生后再定义函数?_Javascript_Load_Onload - Fatal编程技术网

Javascript 是否可以等到onload事件发生后再定义函数?

Javascript 是否可以等到onload事件发生后再定义函数?,javascript,load,onload,Javascript,Load,Onload,首先,我主要想知道是否可以使用window.onload来定义函数,而无需在单击之前实际运行它 我有一些应用程序是用JavaScript设计的,其中一些是为我使用的特定网站设计的,但在这些网站上,我很难允许其他用户选择使用我的应用程序,而不会让其中一些用户永远无法加载页面。你可以在上找到我的应用程序,但我认为问题不在于我的应用程序(除非你能找到一种方法将它们浓缩成几乎什么都没有) 另外,作为参考,我遇到问题的站点是wapka.mobi站点,如果你真的想去那里测试解决方案(你需要注册) 为了允许其

首先,我主要想知道是否可以使用
window.onload
来定义
函数
,而无需在单击
之前实际运行它

我有一些应用程序是用JavaScript设计的,其中一些是为我使用的特定网站设计的,但在这些网站上,我很难允许其他用户选择使用我的应用程序,而不会让其中一些用户永远无法加载页面。你可以在上找到我的应用程序,但我认为问题不在于我的应用程序(除非你能找到一种方法将它们浓缩成几乎什么都没有)

另外,作为参考,我遇到问题的站点是wapka.mobi站点,如果你真的想去那里测试解决方案(你需要注册)

为了允许其他用户访问我的应用程序,我将外部脚本放在我的签名中,并使用
来运行它们(我意识到在签名中允许脚本有多大的安全问题,相信我,它总是被利用)。有问题的用户使用的设备不支持外部脚本的
defer
属性,在多次尝试后,我剩下的唯一解决方案是使用
window.onload
在加载所有其他内容后加载每个应用程序的功能,但只需使用
window.onload=function
。。。当然,只需运行
函数

是否可以等到页面加载后再定义
函数
,或者是否有其他解决方案?提前感谢您提供的任何有用信息。

请阅读本文,了解如何更快地加载页面

特别是本部分:

例如,您的
标签上有这个

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

希望这对你有帮助

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

一个很大的段落不可读。@epascarello这是怎么回事?您的意思是
$(document).ready(函数{})?@plalx我在结尾问了我的问题,并在开头提到了。你能在window onload上定义函数吗?是的…很遗憾,看起来任何外部脚本都会导致加载问题。我想我只能放弃了。无论如何谢谢你!我敢肯定.gif图像会减慢速度,但我也在尝试其他wapka.mobi网站,在这些网站上,论坛CSS不是一个选项,加载时间仍然是一个问题。我链接到该站点的原因是签名没有字符限制……但在本例中,您在
window.onload
中拥有的任何内容都将等待这些.gif图像加载,即使DOM的其余部分在15秒前就准备好了,并且可能已经执行了。您的控制台可以成为处理此类问题的绝佳工具。
<script type="text/javascript" src="fastload.js"></script>
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');