2016-09-15 7 views
1

ページ上の選択したフォームフィールドを塗りつぶす非常に単純なクロムエクステンションを作成しようとしています。私は、コードをgitのレポを作成しました:Chrome拡張機能は選択したフィールドに入力します

https://github.com/mastermindg/chrome-extension-fillform

私の問題は、私はボタンをクリックしたときに何も起こらないということです。ここで

は、私のバックグラウンドJSです:

chrome.tabs.getSelected(null, function(tab) { 
     d = document; 

     var formfield = d.activeElement; 
     d.getElementById(formfield).value = Math.floor(89+Math.random()*11); 

}); 

私はそれがJS要素選択プロセスの周りですが、私はわからないと思います。

答えて

0

d.getElementById(formfield).valueをちょうどformfield.valueに置き換える必要があります。

var formfield = d.activeElement;が要素を取得するので、d.getElementById(formfield)は不要です。

+0

クロムはまだフォームに入力できません。拡張機能をクリックしたときにフォームの選択を解除しているためです。 –

1

それはその完璧なソリューションが、私がこれまで見た中で最高ではありません...

私の代わりに背景のbrowser_actionを使用して、アクティブなタブに影響を与えるためにchrome.tabs.executeScriptを使用して終了。私はgithub repoも現在のコードで更新しました。

chrome.tabs.executeScript(null, 
    {code:"var valued = Math.floor(89+Math.random()*11);var formfield = document.activeElement;formfield.value = valued"} 
); 
関連する問題