2014-02-09 114 views
-1

我正在寫一個擴展名爲chrome的密碼,並自動輸入密碼。這是我現在的代碼。但是,它似乎無法找到密碼類型。我做錯了什麼,夥計?Chrome擴展替換<input>類型

window.addEventListener("load", get_passwords, false); 
function get_passwords() { 
    var node_list = document.getElementsByTagName('input'); 
    var textboxes = []; 
    for (var i = 0; i < node_list.length; i++) { 
     var node = node_list[i]; 
     if (node.getAttribute('type') == 'password') { 
      textboxes.push(node); 
     } 
    } 
console.log(textboxes); 
} 

回答

0

的問題是,您試圖訪問在幾個地方值,其中它不是做正確的事情

var node_list = document.getElementsByTagName('input').value; 

應該

var node_list = document.getElementsByTagName('input'); 

您的警報也有同樣的問題。

Here is a fiddle of the code I wrote to get this working.使用您的調試工具,問題就變得非常明顯

+0

好吧,我明白了。但是如果我使用alert而不是console.log,我仍然會得到[HTMLInputElement]。我沒有得到我如何去並在那裏插入一個值。男人,這很複雜。 – user3290485

+0

如果發現多個盒子和其他東西,但基本上將日誌更改爲文本框,則需要使其更加健壯以應對[0] .value =「MyPassword」http://jsfiddle.net/vnLBQ/3/您似乎缺乏對正在修改的對象的一些基本理解。如果你明白這一點,那麼你應該嘗試更好地理解這些步驟,因爲該步驟是合理的。 –