NS_ERROR_FAILURE с отсутствующим свойством - PullRequest
2 голосов
/ 11 февраля 2011

Я пытаюсь перехватить событие pageLoad в progressListener, в onLocationChange проверяю URI новой страницы, а в случае URI = about: blank я получаю

Ошибка: компонент вернул код ошибки: 0x80004005 (NS_ERROR_FAILURE) [nsIURI.host]

Как я понимаю, этот URI вообще не имеет хоста.

Как я могу проверить, что хост доступен без необработанного анализа и перехвата исключений?Есть ли какой-нибудь традиционный способ проверить наличие атрибута?

Ответы [ 3 ]

0 голосов
/ 12 февраля 2011

В общем, нет способа узнать наверняка без выполнения try / catch, но в настоящее время nsIStandardURL является единственным видом URI, который будет иметь хост.

0 голосов
/ 20 апреля 2012

Когда я столкнулся с этой проблемой, мое решение было: Для указания флага наблюдателя aWebProgress.NOTIFY_LOCATION

aWebProgress.addProgressListener(this.listener, aWebProgress.NOTIFY_LOCATION);

Раньше у меня было aWebProgress.NOTIFY_LOCATION, и было исключение, которое вы описали

0 голосов
/ 12 февраля 2011

Лучше всего фильтровать определенные протоколы (фильтр на scheme). В этом случае лучше всего использовать белый список протоколов, которые вас интересуют.

...