2014-03-31 188 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