SORU
23 ŞUBAT 2011, ÇARŞAMBA


Erişim IE script jQuery engellendi

Bir iframe jQuery 1.4.2 komut dosyası kullanıyorum. Aynı iframe de http https site içine enjekte edilir. JQuery komut göreli bir yol (örneğin, /scripts/jquery-1.4.2.min.js olarak ana HTML dosyasına eklenir.

Bir AJAX çağrısı yapıldığında, Internet Explorer erişimi engeller. AJAX başka bir alt diyor ama doğru protokolü kullanıyor. Diğer tüm tarayıcılarda çalışır ama Internet Explorer aşağıdaki hata verir:

SCRİPT5: Erişim engellendi.
bir WordPress kullanmak-1.4.2.min.js çizgi 127 karakter 344

Bu hata, çapraz etki alanından duydum AJAX çağırır. Ama neden sadece beni sinir ediyordu YANİ? YANİ bir çözüm var mı?

Ayrıca, bu benim AJAX:

 $.ajax({
     url: thisURL,
     dataType: "json",
     data: {cmd : 'getMessage', uurl: urlVar, t: Math.random()},
     success: function(ret){
         callback(ret)
     }
 });

CEVAP
23 ŞUBAT 2011, ÇARŞAMBA


Çapraz site için XHR yerine XDomainRequest kullanmak gerekir YANİ, bir şey gibi çalışır

if ($.browser.msie && window.XDomainRequest) {
            // Use Microsoft XDR
            var xdr = new XDomainRequest();
            xdr.open("get", url);
            xdr.onload = function() {
                // XDomainRequest doesn't provide responseXml, so if you need it:
                var dom = new ActiveXObject("Microsoft.XMLDOM");
                dom.async = false;
                dom.loadXML(xdr.responseText);
            };
            xdr.send();
        } else {
            // your ajax request here
            $$.ajax({
                   url: thisURL,
                   dataType: "json",
                   data: {cmd : 'getMessage', uurl: urlVar, t: Math.random()},
                   success: function(ret){
                               callback(ret)
                    }
            });

        }

Başvuru

http://forum.jquery.com/topic/cross-domain-ajax-and-ie

senaryonuza uygun olup olmadığını emin değilim

xdr = new XDomainRequest(); 
xdr.onload=function()
{
    alert(xdr.responseText);
}
xdr.open("GET", thisUrl); //thisURl ->your cross domain request URL 
//pass your data here
xdr.send([data]); 

biraz daha rehberlik here bulabilirsiniz

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • fouseyTUBE

    fouseyTUBE

    21 Mart 2011
  • Kurtindo Pop Games

    Kurtindo Pop

    2 HAZİRAN 2013
  • NextGenWindows

    NextGenWindo

    8 Kasım 2011