Cosa c'è di sbagliato in questa funzione? Funziona in Opera e Firefox, ma doens't lavoro su Safari in Windowsjavascript crossbrowser new Image()
function getImage(url) {
var image = document.createElement('img'); // new Image(1, 1);
image.src = url;
image.onload = function() {};
}
quando provo getImage ('http://site.com/someservlet.gif') Questa immagine non viene caricato (perché someservlet.gif log tutte le richieste) E ' funziona in Opera e Firefox, ma non in Safari. Ho provato "nuova immagine()" e "document.createElement ('img')" - lo stesso risultato.
UPDATE ==========: Funzione funziona bene quando si chiama direttamente, problema inizia quando viene chiamato da listener di eventi
<a href="http://google.com/"
onclick="getImage('http://127.0.0.1/pic/img.gif?rnd=' + Math.random());">google</a>
<a href="#"
onclick="getImage('http://127.0.0.1/pic/img.gif?rnd=' + Math.random());">local</a>
<script type="text/javascript">
function getImage(url) {
var image = document.createElement('img');
alert('1');
image.onload = function() {alert(image.src);};
image.src = url;
alert('2');
}
</script>
"locale" collegamento funziona bene in Firefox, Opera e Safari (ma Safari mostra alert1, alert2 e quindi alert con "src" per qualche motivo, mentre altri browser mostrano alert1, alertSrc, alert2)
link "google" Opera, Firefox - funziona bene (alert1, alertSrc, alert2), ma Safari non - mostra alertSrc. In Safari vedi alert1, alert2 e tutto qui. Servlet "/pic/img.gif" non riceve richiesta quando qualcuno fa clic sul link "google" da Safari.
Qual è il problema, come risolverlo?
Grazie.
grazie questo mi ha aiutato – oyatek