Как отключить «Обманчивый сайт впереди» на JS при пинг-запросе? - PullRequest
0 голосов
/ 15 февраля 2019

У меня интересное поведение в моем JS-коде, когда я пытаюсь отправить PING-запрос на веб-сайт, помеченный как ОПАСНЫЙ chrome, например:

Я пытаюсь ввести в поле ввода URL-адрес сайта reddit.com,Мой JS проверяет все комбинации с начала:

1)  r - (1) invalid url
2)  re - (1) invalid url
3)  red - (1) invalid url
4)  redd - (1) invalid url
5)  reddi - (1) invalid url
6)  reddit - (1) invalid url
7)  reddit. - (1) invalid url
8)  reddit.c - (1) invalid url
9)  reddit.co - (1) url valid, (2) check is url exists
10) reddit.com - this step can't be reached because big full-screen error from previous step

на шаге 8 все в порядке enter image description here

на шаге 9У меня большая ошибка в полноэкранном режиме: обманчивый сайт впереди ... enter image description here

Как справиться с этим поведением, и просто позволить пользователю выбрать его, если он действительно хочетэто.

Мой код JS, который делает PING

export function fetch_with_timeout(url, options, timeout = 7000) {
   return Promise.race([
      fetch(url, options),
      new Promise((_, reject) => setTimeout(() => reject(new Error('timeout')), timeout)),
   ]);
}

1 Ответ

0 голосов
/ 10 марта 2019

Таким образом, единственное решение, которое я вижу, это сделать запрос ping серверу, который фактически выполняет ping, и ответить с доступностью веб-ресурса.

request

{ "url": "reddit.co" }

response

{ "url": "reddit.co", "available": true }
...