Google ChromeエクステンションとしてWebページにある場合の自動ロードブックマークレット
質問
基本的に私はブックマークレットを作りました、そして、私は特定のワイルドカードURLが開かれたときに実行する必要があります。いくつかの理由で、それは単にChrome拡張子でJavaScriptとして実行されません、そして私は試みにうんざりしています。
が機能することは、指定されたページのcontent_script
を持つ拡張子を作成することです(これはmatch
を介したワイルドカードを使用できます)、どういうわけか同じようにすることです。ユーザーがブックマークバーのブックマークレットをクリックした場合に行われること。
しかし、私はこれを作る方法がわからない。
注記の1つのことは、ページのグローバルスコープにアクセスするために、すなわち拡張サンドボックス(どちらが可能で、は、Chromium Bug Trackerのデザインによって可能になることが確認されました。
このは、誰かがそれをテストしたい場合のブックマークレットです。 my.deviantart.com/messages/*
で使用されることを意味しています(ただし、あなたの受信トレイにアカウントやメッセージが必要です。エフェクトホバーは「偏差」へのリンクの上にホバーし、そのサムネイルを持つツールチップを表示します)。
( edit: 答えのコメントで投稿された拡張試行です。 / P>
解決
マニフェストの権限部分にURLを配置した場合は、コンテンツスクリプトからクロスドメイン呼び出しを行うことができます...
変更後に気づいた唯一のエラーは404を取得するURLを手に入れようとしています...
http://ackend.deviantart. .com / embed?URL= HTTP%3A%2F%2FNEWS.DevIntart.com%2Farticle%2F143885%2F
...小さなエラー、それを取り除くためにあなたにそれを残します。)
ああ、そして私はタイマーのものを取り出しました、それは本当に必要ですか?ギャラリーをクリックすると別のURLになるつもりですか?......コンテンツスクリプトが再投入されますので(本当に見えませんでした)。
他のヒント
あなたが探しているものはMessage Passing
:
href="http://code.google.com/chrome/extensions/messaging.html" rel="nofollow">> http://code.google.com/chrome/extensions/messaging.html
それを使って、content_scriptから背景スクリプトにイベントを渡すことができます。背景ページ内では、すべてのクロム拡張機能を使用してください。
ブックマークレットからChrome Extensionへの変換に必要な作業はほとんどありません(Bookmarkletのみがあなたの拡張子が準拠しているように見える基準だけを提供しました)。 JavaScriptを拡張子のcontent_script.js
に貼り付けます。
は、あなたのブックマークレットがjQueryを使用することを注意してください。あなたはあなたのコンテンツスクリプトでそれを埋め込む必要があります。 こちらを参照のことそれをしなさい。