Показать сообщение отдельно
  #24 (permalink)  
Старый 11.03.2020, 23:55
Аватар для Aetae
Тлен
Отправить личное сообщение для Aetae Посмотреть профиль Найти все сообщения от Aetae
 
Регистрация: 02.01.2010
Сообщений: 6,590

Сообщение от 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])
  }
}
__________________
29375, 35
Ответить с цитированием