2010-02-16 117 views
2

我想要设置一个小书签,它将转到网页,输入一些登录信息,然后自动为我登录按钮。我的问题是,如果我只是转到页面,然后按顺序输入登录信息,那么脚本通常会在加载表单元素之前完成执行。所以,我需要一些方法让脚本等待,直到页面已经加载,然后将我的登录信息输入到表单中。到目前为止,我尝试了一些方法,但都没有成功。当页面加载完成时执行小书签代码

例如:

javascript:window.location = "http://www.msn.com"; 
window.onload=function(){alert("Page Loaded");}; 

的警告对话框中一直没有出现。我一直在使用,我称之为定期使用window.setTimeout函数也尝试过,但不起作用或者:

javascript:function doLogin() { 
    if (document.getElementsByName("login").length > 0) { 
     document.getElementsByName("login")[0].value = "myUserName"; 
    } 
    else { 
     window.setTimeout(doLogin,100); 
    } 
} 
window.location="http://my.web.page"; 
doLogin(); 

再次,登录信息永远不会被输入。有谁知道我该怎么做?

回答

3

我认为问题是,一旦你改变了窗口的位置(顺便说一下,它应该是window.location.href = 'http://www.msn.com';,因为location实际上是一个对象),你的JavaScript的其余部分将被清除。

您可能需要将JavaScript放在隐藏框架(或iframe)中,然后在可见框架(或iframe)中打开目标站点。然后,您可以从隐藏的(i)框架中操作页面的内容。

声明:我没有测试过,所以我不完全确定它会工作。