2011-07-05 12 views
19

मैं जीमेल में "मेल भेजें" AJAX कार्रवाई में कॉलबैक संलग्न करने की कोशिश कर रहा हूं। मैं अनुरोध पेलोड के आधार पर अन्य AJAX कार्रवाइयों से मेल भेजें कार्रवाई को अलग करने में सक्षम हूं लेकिन वास्तविक AJAX कॉल में शामिल होने में असमर्थ रहा हूं।इंटरसेप्ट जीमेल में मेल AJAX अनुरोध भेजता है

इस प्रकार, मैंने XMLHttpRequest.open() विधि को ओवरराइड करने का प्रयास किया है, जैसा विस्तृत here है। यह काम नहीं किया है। मैंने XMLHttpRequest.send() को ओवरराइड करने का भी प्रयास किया है। भी असफल रहा।

किसी भी विचार? अग्रिम में बहुत धन्यवाद।

+0

क्या आप एक प्लगइन, एक बुकमार्कलेट या क्या बना रहे हैं? – Gerben

+0

क्रोम एक्सटेंशन बनाना। जावास्क्रिप्ट इंजेक्ट करने के लिए सामग्री स्क्रिप्ट का उपयोग करना। –

+0

क्या आप इसे काम करने के लिए प्रबंधित किया था? मुझे एक ही समस्या का सामना करना पड़ रहा है। –

उत्तर

8

Google की चाल यह है कि वे एक आईफ्रेम के अंदर से अनुरोध भेजते हैं जिसमें इसका स्वयं का जावास्क्रिप्ट वातावरण है। हालांकि, बाद से यह माता पिता के रूप में एक ही मूल से भरी हुई है, तब भी आप आसानी से इसे ब्राउज़र कंसोल से भी हेरफेर कर सकते हैं:

[].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) {} 
}); 

आप नए जोड़े iframes का मज़बूती से पता लगाने के लिए एक MutationObserver उपयोग करने के लिए चाहते हो सकता है।

संबंधित मुद्दे