是否有可能使身体上传事件更快?

时间:2011-04-25 03:22:54

标签: javascript javascript-events

我有这个代码在页面加载时自动提交表单。但是在页面完全加载后进行提交需要20秒。

我在这做错了吗? 如果没有,如何绕过20秒延迟? 我们可以让身体onload事件更快吗?

代码:

 <html>
<body onload="document.forms['loginform'].submit();">
<form id="loginform" name="loginform" action="https://login.url.com" method="post" style="visibility:hidden">
    <input type="hidden" value="" name="hhh">
    <input type="text" value="username" id="login_field" name="username">
    <input type="password" value="pass" id="password_field" name="password">
                <input type="hidden" value="" id="password_strength" name="password_strength">
                <input type="hidden" value="/index.php" id="sendto" name="sendto">
    <button id="btn_logon" type="submit"><span>Login</span></button>
        </form>
</body>
</html>

非常感谢你。

1 个答案:

答案 0 :(得分:0)

在加载页面的所有依赖项(图像,外部资源等)之后触发load事件。您应该关注的事件是在DOM准备就绪时被触发的事件 - DOMContentLoaded已在HTML5中标准化。

对于跨浏览器解决方案,从任何现有的JavaScript库中选择一个实现,如MooTools,jQuery,Dojo等。

link包含一个实现。如果您的DOM内容太大,并且下载和解析只是花费时间,那么请考虑在<form>之后立即添加脚本。

<form id="loginform" name="loginform" action=".." method="post">
...
</form>
<script>
    // submits the form right after it is parsed
    document.forms['loginform'].submit();
</script>