Сообщение от drmodjo
|
На сайте А нужен скрипт, который проверит ссылку на сайте В и если ссылка существует, то выдаст указанный заранее текст. В случае если ссылка не существует, то выдаст другой текст красного цвета.
Конкретнее просто некуда.
|
Если вы управляете сайтом A и
не управляете сайтом B то напрямую это сделать
невозможно из соображений безопасности.
Вам нужен будет серверный прокси, который запросит ссылку и вернёт ответ - жива или не жива, точно также как это сделано у вас сейчас.
Пример: условно так
// links - массив ссылок,
// success - колбэк получающий ссылку в случае удачи
// error - колбэк получающий ссылку в случае неудачи
async function tryFetchList(links, success, error) {
for(let link of links) {
const result = await fetch('/check-link-api.php?url=' + encodeURIComponent(link.href))
if(result === 'ok')
success(link)
else
error(link)
}
}
// или скопом, смотря как у вас сервер работать будет
async function tryFetchList(links, success, error) {
links = Array.prototype.slice.call(links);
const results = await fetch('/check-links-api.php', {
method: 'POST',
headers: {
'Content-Type': 'application/json'
},
body: JSON.stringify(
links.map(({href}) => href)
)
}).then(res => res.json());
results.forEach((result, i) => {
if(result === 'ok')
success(links[i])
else
error(links[i])
}
}