2011-07-05 5 views
19

Gmailの「メール送信」ajaxアクションにコールバックを添付しようとしています。私はSendペイロードに基づいて他のAJAXアクションからSend mailアクションを区別できましたが、実際のAJAXコールにフックできませんでした。GmailでのAJAXリクエストの代行受信メールの代行受信

ここまでは、hereのようにXMLHttpRequest.open()メソッドをオーバーライドしてみました。それはうまくいきませんでした。私はまた、XMLHttpRequest.send()をオーバーライドしようとしました。また失敗しました。

どのような考えですか?事前に多くの感謝。

+0

プラグイン、ブックレットレットなどを作成していますか? – Gerben

+0

Chrome拡張機能をビルドする。コンテンツスクリプトを使用してJavaScriptを注入する。 –

+0

あなたはそれを動作させることができましたか?私は同じ問題に直面している。 –

答えて

8

Googleのトリックは、独自のJavaScript環境を持つiframeの内部からリクエストを送信することです。それは親と同じ起源からロードされているのでしかし、あなたはまだあっても容易ブラウザのコンソールからそれを操作することができます

[].slice.apply(document.querySelectorAll('iframe')).forEach(function (iframe) { 
    try { 
     var xhrProto = iframe.contentWindow.XMLHttpRequest.prototype; 
     var origOpen = xhrProto.open; 
     xhrProto.open = function() { 
      console.log('DO SOMETHING', arguments); 
      return origOpen.apply(this, arguments); 
     }; 
    } catch (e) {} 
}); 

あなたが確実に新しく追加されたアイフレームを検出するために、MutationObserverを使用する場合があります。

関連する問題