ajax e il simpatico ie8

12 contenuti / 0 new
Ultimo contenuto
ajax e il simpatico ie8

ciao a tutti, ho creato il seguente script, che ovviamente va su ff, chrome, safari e non su ie8... cosa sbaglio????

$('.buton').click(function () {
        var link = $(this).attr('href');
        $.ajax({
            url: link,
            cache:false,
            success: function(data) {
                var imgW = $(data).find("#content #img");
                var txtW = $(data).find(".cont-cont");
                var  dateW =   $(data).find("#content #date");
                var  shareW =   $(data).find('#content #shareme')
                $("#reader-cont #imgw").html(imgW);
                $("#reader-cont #txtw").html(txtW);
                $("#reader-cont #datew").html(dateW);
                $("#reader-cont #sharemew").html(shareW);
        }
        });
    });

ho provato a cambiare il tutto con questo:

loadXMLDoc();
function loadXMLDoc()
{
var xmlhttp;
if (window.XMLHttpRequest)
  {// code for IE7+, Firefox, Chrome, Opera, Safari
  xmlhttp=new XMLHttpRequest();
  }
else
  {// code for IE6, IE5
  xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
  }
xmlhttp.onreadystatechange=function()
  {
  if (xmlhttp.readyState==4 && xmlhttp.status==200)
{
var data= xmlhttp.responseText;
alert(data);
var imgW = $(data).find("#content #img");
var txtW = $(data).find(".cont-cont");
var  dateW =   $(data).find("#content #date");
var  shareW =   $(data).find('#content #shareme')
$("#reader-cont #imgw").html(imgW);
$("#reader-cont #txtw").html(txtW);
$("#reader-cont #datew").html(dateW);
$("#reader-cont #sharemew").html(shareW);
}
  }
xmlhttp.open("GET",link,true);
xmlhttp.send();
}

l'alert su ie 8 mi segnala giustamente tutto il contenuto della pagina... ma ovviamente non si vede nulla :(

ok il problema riguarda a .find, che è buggato in ie8....
soluzioni?

ho provato cambiando le variabili in questa maniera:

var data= xmlhttp.responseText;
var imgW = $(data).children('#wrapper').children('#content').children(' .region').children('#block-system-main').children('.content').children('#img');
var txtW = $(data).children('#wrapper').children('#content').children(' .region').children('#block-system-main').children('.content').children(".cont-cont");
var  dateW =   $(data).children('#wrapper').children('#content').children(' .region').children('#block-system-main').children('.content').children("#content #date");
var  shareW =   $(data).children('#wrapper').children('#content').children(' .region').children('#block-system-main').children('.content').children('#content #shareme');

ff chrome safari funzionano.... ie8 ovviamente no.... robe da matti...

Che versione di jQuery state utilizzando?

1.7

cmq specificando meglio mi funziona l'allert con la variabile "data", ma non gli altri quando vado in ricerca dei selettori in essa contenuti....

Hai provato a usare un valore singolo per tutti i selettori? Tanto sono degli ID e dovrebbero comunque essere univoci.

Intendo, al posto di

var  dateW =   $(data).find("#content #date");
var  shareW =   $(data).find('#content #shareme')

usare

var  dateW =   $(data).find("#date");
var  shareW =   $(data).find('#shareme')

si già fatto ma niente... e voglio dire è assurdo che non mi trovi i selettori nei dati caricati... ff e chrome lo fanno e non si capisce proprio perchè ie deve essere diverso dagli altri, sempre....

Puoi mettere on line una pagina che posso visitare con IE?

http://wrkstat.com/lebenberg
vai nelle news e il contenuto dovrebbe apparire in overlay(non quello creato da drupal)...

???? spam?????