«SECURITY_ERR: DOM Exception 18» генерируется при инициализации расширения Chrome «EventSrouce» - PullRequest
1 голос
/ 20 марта 2012

Я использую HTML5 Sever Send Event для публикации какого-либо статуса сервера. И я реализую расширение Chrome, чтобы отслеживать статус и уведомлять пользователя, если это необходимо.

Но когда я пытаюсь создать объект EventSource Chrome выдает исключение «Uncaught Error: SECURITY_ERR: DOM Exception 18»

var tracker = (function(url) {
    var source = new EventSource(url);
    var onMessage = function(e) {
        console.log(e);
    }

    source.addEventListener('new', onMessage);

    return {
        source: source,
        newMessage: onMessage
    };
})('http://localhost:3000/dispatching');

И я добавил URL-адрес сервера в мои разрешения на расширение:

"permissions": [ 
    "http://localhost:3000/",
    "tabs"
]

Но разрешение на самом деле не решает проблему! Есть идеи?

1 Ответ

1 голос
/ 20 марта 2012

Это похоже на Одинаковая политика происхождения , возникающая в файлах HTML, загруженных по протоколу file://, пытающихся связаться с сервером по протоколу http://.

Вот статья , описывающая, как обойти SOP для вашей среды разработки.

Когда вы приступаете к работе, я понимаю, что Google Chrome предоставляет определенные способы обойти обычные ограничения SOP, обычно налагаемые на браузеры. Это может быть из-за permissions JSON, который вы упомянули, однако я недостаточно знаком с расширениями Chrome, чтобы сказать наверняка.

Ах, подождите, эта статья может быть полезна.

...