站点加载完成后,单击页面上的按钮

时间:2014-03-31 07:58:52

标签: javascript jquery google-chrome google-chrome-extension

我为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/ZSWWW01@?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中进行扩展和第一次编码?

1 个答案:

答案 0 :(得分: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");
   }
});