2014-03-31 141 views
0

我已经为Chrome制作了一个简单的多功能框扩展程序,您的想法是输入邮政编码,按回车并打开几个网站。但它不工作,我想怎么当网站加载完成时,点击页面上的按钮

function resetDefaultSuggestion() { 
    chrome.omnibox.setDefaultSuggestion({ 
    description: 'Postcode: Zoek de postcode %s' 
    }); 
} 

resetDefaultSuggestion(); 

chrome.omnibox.onInputChanged.addListener(function(text, suggest) { 
    // Suggestion code will end up here. 
}); 

chrome.omnibox.onInputCancelled.addListener(function() { 
    resetDefaultSuggestion(); 
}); 


function navigate(url) { 
    chrome.tabs.query({active: true, currentWindow: true}, function(tabs) { 
    chrome.tabs.create({url: url}); 
    }); 
} 

chrome.omnibox.onInputEntered.addListener(function(text) { 
    navigate("http://www.gevonden.cc/postcode/" + text + "/streetname,housenr/"); 
    navigate("http://www.nummerzoeker.com/?color=white&lastname=&str=&hnr=&pc=" + text +"&pl=&phone=&maxrows=100&sort=3&search=Zoeken"); 
    navigate("http://www.zoekenbel.nl/postcode.asp?zoekop=p&zoek=postcode&postcode=" + text + "&Huis_nr="); 
    navigate("https://server.db.kvk.nl/TST-BIN/ZS/[email protected]?TAAL=NL++&TYPE=PCHN&AANT=0&AWCD=" + text + "&NHVC=&HIST=+&submit="); 
}); 

chrome.omnibox.onInputEntered.addListener(function(text) { 
    navigate("http://www.funda.nl/koop/zoeksuggestie/" + text + "/"); 
}); 

这一切工作正常,最后网站(http://www.funda.nl/koop/zoeksuggestie/ +文字)不能很好地工作,页面加载完成按钮需要点击的时候,显示结果。当我在控制台中运行以下内容时,它可以工作。

document.querySelectorAll("input[type='submit']")[0].click(); 

如何将此添加到扩展,以便它等待页面完全加载,然后单击按钮?

由于提前,LTKort

PS这是第一次拍的延伸和在JS第一次编码?

回答

0

使用jquery document ready

$(document).ready(function(){ 
    // your code here 
}); 

当文档准备在该函数的代码执行。

为了确保按钮在每次重新加载时都不会被点击,您可以使用jquery cookie插件。

$(document).ready(function(){ 
    if($.cookie("visited") == 'true'){ 
     // do nothing 
    } else { 
     $.cookie("visited", true); 
     $("input[type='submit']").trigger("click"); 
    } 
}); 
+0

想要这样吗? : $(document).ready(function(){ document.querySelectorAll(“input [type ='submit']”)[0] .click(); }); 因为这不起作用 – LTKort

+0

你有没有加载jquery [插件](http://jquery.com/download/#using-jquery-with-a-cdn)?它更快地做到这一点jQuery的方式(如果可能的话),如:$(document).ready(function(){$(“input [type ='submit']”)。trigger(“click”); }); – Michel

+0

是的,加载它。但仍然没有工作 – LTKort