From: Ohta Shogo <os0...@gmail.com>
Date: Sun, 13 Dec 2009 17:55:48 -0800 (PST)
Local: Sun, Dec 13 2009 8:55 pm
Subject: Re: ページ内で発行されたイベントをcontentscriptで取得したい
こんにちは、太田です。
ページ内のjavascriptというのは、表示しているサイトのJavaScriptのことで、つまり自分では直接編集することはできない部分という
以下、ページ内のJavaScriptをサイトスクリプト、Content Scriptはコンテントスクリプト、backgroundはバックグラウ
まず、サイトスクリプトにはコンテントスクリプトからもバックグラウンドスクリプトからもアクセスすることはできません。
その方法とは、1つはscript要素を作って挿入する方法、もう1つはlocation.hrefにjavascriptスキームを渡す方法(ブック
で、サイトスクリプトとして実行は可能ですが、当然そのスクリプトからはサイト側のグローバル変数にアクセス可能できる代償に、コンテントスクリプト側
そこで、カスタムイベントを使う方法があります。この辺りは、
さて、ここまでをスクリプトにしてみるとこんな感じです。
まず、結果を受け取る必要がなければイベントを使う必要がないので、下記のようにするだけでOKです。
}) + ')(jQuery);';
結果を受け取りたい場合、下記のようになります。
document.addEventListener("SiteScriptMessage", function (response) {
}, false);
location.href = '(' + String(function(){
var SOMEDATA/*サイト側のデータ*/; var event = document.createEvent('MessageEvent'); event.initMessageEvent("SiteScriptMessage", true, false, JSON.stringify(SOMEDATA), location.protocol + "//" + location.host, "", window); document.dispatchEvent(event); }) + ')();';
以上ですが、ちょっとわかり難いですかね…。
また、質問頂ければと…。 On 12月13日, 午後12:49, shuwatto <shuwa...@gmail.com> wrote:
> こんにちはshuwattoといいます。
> ページとcontentscriptでともにjQuery1.3を使っています。
> ページ内のjavascriptで、$('foo').trigger('bar')として発行されたイベントに対して、
> isolated worldになっているので、contentscript内から直接ページ内のjavascriptイベントを拾えないようです。
> 何か良い手があれば教えてください。
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
| ||||||||||||||
