Извините, это может быть дублированный пост. есть ли способ javascript/jquery, чтобы определить, доступна ли ссылка url или нет? для экземпляров обнаружение http://www.thisissample.com/
недоступно и возвращает false, если доступно https://www.google.com.my/
и возвращает true.Проверьте, доступен ли адресный путь
ответ
Итак, поскольку вы можете столкнуться с проблемами при выполнении запроса ajax из-за ограничений между доменами, другая стратегия будет пытаться загрузить URL-адрес в тег скрипта, который принимает другие домены. Вот как выглядел бы ваш код:
function checkURL(url) {
var scriptTag = document.body.appendChild(document.createElement("script"));
scriptTag.onload = function() {
alert(url + " is available");
};
scriptTag.onerror = function() {
alert(url + " is not available");
};
scriptTag.src = url;
}
Ничего себе .. это сработало! извините, если есть ограничение для этого? – user3835327
Это должно хорошо работать во всех современных браузерах. Ограничение между доменами произойдет только в том случае, если вы попытаетесь выполнить запрос ajax. –
Благодарим вас за решение, hav a nice day .. – user3835327
Вы можете использовать XHR и посмотреть, отвечает ли он 404 не найденным или нет. Прочитайте this для кода состояния HTTP.
Пожалуйста, попробуйте этот код:
<script>
function checkURL(url){
var reader = new XMLHttpRequest();
var checkFor = url;
reader.open('get', checkFor, true);
reader.onreadystatechange = checkReadyState;
function checkReadyState() {
if (reader.readyState === 4) {
if ((reader.status == 200) || (reader.status == 0)) {
//document.location.href = checkFor;
alert("Page exist !!!");
}
else if(request.status === 404) {
alert("Not Found");
}
else {
alert("Status Code : " + reader.status);
}
}
}
reader.send(null);
}
</script>
<body onload="checkURL('http://www.mozill.org/');">
</body>
Пожалуйста, обратите внимание, что он будет работать только на же происхождения. Для другого хоста вы можете использовать серверный язык для этого. Как это ниже:
<?php
$url = parse_url('https://www.mozilla.org/');
$host = $url['host'];
$port = 80;
$path = $url['path'];
$query = (!empty($url['query'])?$url['query']:null);
$request = "HEAD $path?$query HTTP/1.1\r\n"
."Host: $host\r\n"
."Connection: close\r\n"
."\r\n";
$address = gethostbyname($host);
$socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP);
socket_connect($socket, $address, $port);
socket_write($socket, $request, strlen($request));
$response = split(' ', socket_read($socket, 1024));
if($response[1] >= 200 && $response[1] < 300){
print "<p>Response: ".$response[1]." - Success URL exist !!!</p>\r\n";
}
else if($response[1] >= 300 && $response[1] < 400){
print "<p>Response: ".$response[1]." - Redirection</p>\r\n";
}
else if($response[1] >= 400 && $response[1] < 500){
print "<p>Response: ".$response[1]." - Client Error</p>\r\n";
}
else if($response[1] >= 500){
print "<p>Response: ".$response[1]." - Server Error</p>\r\n";
}
socket_close($socket);
?>
Надежда этом помочь вам ...
- 1. Проверьте, доступен ли iAd
- 2. GitPython: проверьте, доступен ли git
- 3. Проверьте, доступен ли язык gettext
- 4. Проверьте, доступен ли SQL Server
- 5. ADO.net, проверьте, доступен ли ObjectContext
- 6. Проверьте, доступен ли веб-сайт
- 7. SignalR: Проверьте, доступен ли сервер
- 8. Проверьте, доступен ли ресурс в google chrome
- 9. Проверьте, доступен ли C: \ Program Files \
- 10. Проверьте, доступен ли API/сервис PayPal/вверх
- 11. Проверьте, доступен ли Интернет, включая 4G
- 12. Проверьте, доступен ли локальный TCP-порт
- 13. Android Проверьте, доступен ли WebService на порту
- 14. Проверьте, доступен ли элемент управления td
- 15. Проверьте, доступен ли URL с помощью Golang
- 16. Проверьте, доступен ли ключ в Flex
- 17. Проверьте, доступен ли сервер RESTful на Android
- 18. Проверьте, доступен ли параметр в url
- 19. Проверьте, доступен ли SQL-сервер программно?
- 20. Проверьте, доступен ли контекст запроса на флэшку
- 21. Проверьте, доступен ли домен для покупки - C#
- 22. Предоставляет ли компилятор адресный оператор?
- 23. Проверьте, доступен ли путь к серверу в качестве общего доступа к файлам в C#
- 24. Проверьте, является ли данный путь специальным путем?
- 25. Bash: проверьте, существует ли относительный путь
- 26. Проверьте, допустим ли путь в Python
- 27. Java: проверьте, является ли путь родителем файла
- 28. Проверьте, существует ли путь импорта Go
- 29. Проверьте, находится ли путь в сети
- 30. Проверьте, является ли путь каталогом в Swift2?
почему бы не просто сделать запрос? – cviejo