2011-07-05 15 views
19

Gmail'de "Posta gönder" ajax eylemine bir geri arama iliştirmeye çalışıyorum. İstek yüküne göre diğer AJAX eylemlerinden Posta gönder eylemini ayırt edebildim, ancak gerçek AJAX çağrısına bağlanamadım.Gmail'deki AJAX isteğini iletme engellemesi

Şimdiye kadar, ayrıntılı olarak here olarak XMLHttpRequest.open() yöntemini geçersiz kılmayı denedim. Bu işe yaramadı. Ayrıca, XMLHttpRequest.send() öğesini geçersiz kılmayı denedim. Ayrıca başarısız oldu.

Herhangi bir düşünce? Şimdiden çok teşekkürler.

+0

Bir eklenti mi, bir yer imi mi oluşturuyorsunuz? – Gerben

+0

Bir Chrome uzantısı oluşturun. Javascript'i enjekte etmek için içerik komut dosyalarını kullanma. –

+0

Çalışmayı başardı mı? Aynı problemle karşı karşıyayım. –

cevap

8

Google'ın hilesi, isteği kendi JavaScript ortamına sahip bir iframe içinden göndermesidir. ebeveyn olarak aynı kökenden yüklenir Ancak, hala bile kolaylıkla tarayıcı konsolundan işleyebilirsiniz:

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

Sen güvenilir yeni eklenen iframe algılamak için bir MutationObserver kullanmak isteyebilirsiniz.