执行bookmarklet

时间:2016-03-16 05:40:58

标签: javascript bookmarklet

javascript:(function E()
{
    location.href="https://blrbugzilla.yodlee.com/enter_bug.cgi?product=PFM"
    setTimeout(5000,function ()
    {
        document.getElementById('component').value="IAE-Data Agent";
        document.getElementById('component').onchange();
        document.getElementById('assigned_to').value="rkumar11";
        document.getElementById('cf_bugtype').value="Bug";
        document.getElementById('cf_department').value="IAE";
        document.getElementById('cf_customer').value="Internal";
        document.getElementById('cf_workflow').value="IAE";
        document.getElementById('cf_backend_frontend').value="Preventive Fixes";
        document.getElementById('cf_environment').value="Production";
    })
})();

我正在尝试打开一个页面,当页面完全加载时,我想执行JavaScript代码来自动填充值。因此我增加了5秒的超时但它不会等待。

我也尝试过使用代码

function pausecomp(millis)
{
    var date = new Date();
    var curDate = null;
    do 
    { 
      curDate = new Date(); 
    }
    while(curDate-date < millis);
  }
我发现了。这也没有用。

是否有任何方法可以使程序等到页面加载或至少等待一段预定义的秒才执行此行。

我想在书签中使用此代码。

程序正确设置字段,因为当我在同一页面上重试相同的书签时。我可以看到值设置然后URL加载完成。

2 个答案:

答案 0 :(得分:0)

setTimeout(5000,function(){})错了

setTimeout(function(){},5000)是当前的

试试这个:

javascript:(function E(){
    location.href="https://blrbugzilla.yodlee.com/enter_bug.cgi?product=PFM"
    setTimeout(function (){
    document.getElementById('component').value="IAE-Data Agent";
    document.getElementById('component').onchange();
    document.getElementById('assigned_to').value="rkumar11";
    document.getElementById('cf_bugtype').value="Bug";
    document.getElementById('cf_department').value="IAE";
    document.getElementById('cf_customer').value="Internal";
    document.getElementById('cf_workflow').value="IAE";
    document.getElementById('cf_backend_frontend').value="Preventive Fixes";
    document.getElementById('cf_environment').value="Production";
    },5000)
    })();

答案 1 :(得分:0)

首先,document.addEventListener("DOMContentLoaded", function() { // this code executes after page has been loaded… });函数签名不正确,因为延迟位于回调之后。

其次,您可以使用 DOMContentLoaded 事件处理程序来延迟代码执行,直到页面正确加载为止。

imei:359710047059226,tracker,15/03/18 12:17,,F,121703.000,A,1255.2746,N,07736.8209,E,0.00,208.00,0.00,1,0;