Современные браузеры ограничивают использование междоменных сценариев. Если вы поддерживаете сервер, прочитайте Access-Control-Allow-Origin , чтобы узнать, как включить межсайтовый скриптинг на вашем сайте.
РЕДАКТИРОВАТЬ : Чтобы проверить, не работает ли внешний сайт, вы можете использовать этот метод. Этот внешний сайт должен иметь файл изображения. У большинства сайтов есть файл с именем favicon.ico
в корневом каталоге.
Пример, проверка, находится ли http://www.google.com/ в сети или нет.
var test = new Image();
//If you're sure that the element is not a JavaScript file
//var test = document.createElement("script");
//If you're sure that the external website is reliable, you can use:
//var test = document.createElement("iframe");
function rmtmp(){if(tmp.parentNode)tmp.parentNode.removeChild(tmp);}
function online(){
//The website is likely to be up and running.
rmtmp();
}
function offline(){
//The file is not a valid image file, or the website is down.
rmtmp();
alert("Something bad happened.");
}
if (window.addEventListener){
test.addEventListener("load", online, true);
test.addEventListener("error", offline, true);
} else if(window.attachEvent){
test.attachEvent("onload", online);
test.attachEvent("onerror", offline);
} else {
test.onload = online;
test.onerror = offline;
}
test.src = "http://www.google.com/favicon.ico?"+(new Date).getTime();
/* "+ (new Date).getTime()" is needed to ensure that every new attempt
doesn't get a cached version of the image */
if(/^iframe|script$/i.test(test.tagName)){
test.style.display = "none";
document.body.appendChild(test);
}
Это будет работать только с ресурсами изображения. Прочитайте комментарии, чтобы узнать, как использовать другие источники.