2

私は、入力フィールド(編集可能)を右クリックして定義済みの文字列を挿入する方法を理解しようとしています。しかし、私はどのような要素をユーザーがクリックするかを決める方法がないので、どのWebサイトでもこれをどうやって行うのですか?これまでのところ、私はあなたが基本的なものを持っている私のマニフェストファイルChromeプラグイン - コンテキストメニュー挿入テキスト

"permissions": [ 
    "contextMenus", 
    "background", 
    "https://ajax.googleapis.com/" 
], 

"background": { 
    "scripts": ["scrippy.js"] 
} 
} 

(私も、必要な情報の残りの部分を持っている。)

そして、私のスクリプトファイル

// Create context menu and set to only on inputs 
var type = ["editable"]; 
var scrippyMenu = chrome.contextMenus.create({"title": "Scrippy", 
"contexts": type}); 


// menu context 
var menuContext = chrome.contextMenus.create({"title": "blabla", 
"parentId": scrippyMenu, "contexts": type}); 

var menuChild1 = chrome.contextMenus.create(
{"title": "time", "parentId": menuContext, "contexts": type, "onclick": 
genericOnClick}); 

function genericOnClick(info, tab) { 

document.getElementById("Theunknownelement").textContent = 'This is added text'; 

} 

答えて

1

を持って

誤解:documentという背景ページ自体を参照しているため、背景スクリプトはウェブページを変更できません

Architecture overviewをご覧ください。その後、Content Scriptが必要であることを知っておく必要があります。

これを確立すれば、あなたのコンテンツスクリプトは独立してtrack where the click happened - それは要素への参照を含むことができます。次に、あなたのバックグラウンドが変更を要求すると、そのような最後の要素が分かります。

非常に良い質問discussing your problem in great detailもあります。

+0

こんにちは、リンクと情報ありがとうございます。私はその他の答えからあなたの例を見ましたが、私はまだそれを働かせることはできません。私はあなたがalookを取ることができる私の質問を更新しましたか?私は開発者ではなく、ちょうど私がgoogle上で見つけたときに道に覚えているので、どんな助けも素晴らしいだろう! – Lmnoppy

+0

あなたの質問を見てください。それから私の答えに。私の答えはあなたの質問にまだ答えていますか?いいえ。答えが出された後、重大な質問の書き換えをしないでください。別途フォローアップの質問をしてください。 – Xan

+0

あなたの意見が分かります。新しい質問を作成する必要がありますか?私は頻繁にこのサイトを使用しないでください。 – Lmnoppy

関連する問題