Записывать ошибки javascript с другого субдомена - PullRequest
3 голосов
/ 11 октября 2011

window.onerror в Firefox и Chrome, похоже, отбрасывает реальное сообщение об ошибке / местоположение и всегда передает "Script error.", "", 0, когда сценарий-нарушитель находится в другом домене, чем сама страницаУ меня есть сайт с отдельными поддоменами www и static для страниц и css / js, что делает регистрацию ошибок довольно бесполезной.Есть ли способ включить правильное ведение журнала таких ошибок?

Ответы [ 3 ]

2 голосов
/ 21 октября 2011

Не похоже, что сейчас есть обходной путь (я спросил в IRC-канале Mozilla).

Я отправил эти сообщения об ошибках, чтобы отследить эту проблему.Пожалуйста, включите, если у вас есть мнения о том, что будет лучшим решением для этого:

https://bugzilla.mozilla.org/show_bug.cgi?id=696301

https://bugs.webkit.org/show_bug.cgi?id=70574

1 голос
/ 22 октября 2011

Реальным решением является использование правильных try { ... } catch(e) { ... } блоков во всем коде.Однако я понимаю, что это не всегда может быть вариантом.

Если у вас нет контроля над этими другими сценариями, ваш следующий лучший вариант - загрузить их как строки через JSONP, а затем использовать eval() (да, я знаю, eval это зло ) чтобы "внедрить" их в текущую страницу.Таким образом, вы все равно получите преимущества от использования статического домена (без файлов cookie, опции CDN, дополнительных параллельных запросов и т. Д.), Но JS окажется в домене запроса страницы.

0 голосов
/ 21 октября 2011

В вашем js-файле вверху попробуйте сделать

document.domain = "yourdomain.com"
...