problemas de la pareja: se puede utilizar umbrales de tiempo de espera con XMLHttpRequest
(también conocido como Ajax), pero ya que está en una otherserver.com
no se puede utilizar XMLHttpRequest
(y apoyar a todos los navegadores de categoría A) debido a la Same Origin Policy restriction.
Si el guión introduce ningún tipo de nombre global (por ejemplo, cualquier nombre de variable, nombre de la función, etc) Usted puede tratar setTimeout
para mantener la comprobación de que:
var TIMELIMIT = 5; // seconds until timeout
var start = new Date;
setTimeout(function() {
// check for something introduced by your external script.
// A variable, namespace or function name here is adequate:
var scriptIncluded = 'otherServerVariable' in window;
if(!scriptIncluded) {
if ((new Date - start)/1000 >= TIMELIMIT) {
// timed out
alert("Please try again")
}
else {
// keep waiting...
setTimeout(arguments.callee, 100)
}
}
}, 100)
El problema que veo es que no se puede cancelar la solicitud de la secuencia de comandos. Por favor, que alguien me corrija si me equivoco, pero eliminar el <script>
del DOM aún dejará activa la solicitud del navegador para el recurso. Entonces, aunque puede detectar que la secuencia de comandos tarda más de x segundos en cargarse, no puede cancelar la solicitud.
Creo que puede estar de suerte.
... Además ... mi servidor no es compatible con php (o cualquier otra cosa ... es una tienda de Yahoo) y está en un dominio diferente que el servidor remoto que estoy sacando de –
No creo que haya una forma de hacer esto además de hacer que usted ponga ese javascript en particular tan bajo en la página como sea posible, por lo que el resto de la página se carga mientras espera. –