Получить ошибку DNS и ошибку 404 с расширением Chrome - PullRequest
4 голосов
/ 17 марта 2011

Что ж, в настоящее время я разрабатываю расширение Google Chrome, и мне нужно получить все ошибки DNS и 404, чтобы сделать перенаправление.Проблема в том, что я действительно не понимаю, как это возможно ...

Если это ошибка домена, я хочу получить имя домена, а при ошибке 404 я хочу получить страницу имени.

Пример:

Неверный домен: http://www.justforthetest.com/ => Получить justforthetest

404 Ошибка: http://www.valeriemates.com/professinal.html => Получить профессиональный

Надеюсь, кто-нибудь может помочь мне ... Спасибо заранее!

1 Ответ

3 голосов
/ 17 марта 2011

Что ж, самое большее, что я смог сделать, - это отправить новый XHR-запрос на этот URL и проверить возвращенный статус.Для неправильных доменов статус выглядит как 0, для 404 страниц - 404.

background.html

chrome.tabs.onUpdated.addListener(function(tabId, changeInfo, tab) {
    if(changeInfo.status == "loading") {
        var xhr = new XMLHttpRequest();
        xhr.open("GET", tab.url, true);
        xhr.onreadystatechange = function() {
            if (xhr.readyState == 4) {
                if(xhr.status == 0) {
                    console.log("wrong domain:", tab.url);
                } else if(xhr.status == 404) {
                    console.log("404 page:", tab.url);
                } else if(xhr.status == 200) {
                    console.log("regular page:", tab.url);
                }
            }
        }
        xhr.send();
    }
}); 
...