Как вызвать функцию chrome со страницы содержимого браузера в xulrunner

Я преобразовываю код, который изначально запускался как файлы jar с удаленной подписью в Firefox, чтобы вместо этого использовать XULRunner. Есть несколько отчетов, которые реализованы в виде веб-страниц с опцией вывода. Варианты включают HTML-страницу или средство просмотра отчетов, написанное на XUL и Javascript.

Когда пользователь отправляет форму и выбирается средство просмотра отчетов, мне нужно открыть окно Chrome. Очевидно, это нельзя сделать напрямую из соображений безопасности. Я хочу предоставить функцию или использовать какой-то метод передачи сообщений, чтобы сигнализировать содержащему хрому, что должно произойти.

Можно ли это сделать и если да то как? Вещи, которые я рассматриваю: 1) Добавление функции в окно окна содержимого или объект документа 2) Какая-то функция передачи сообщений 3) Какая-то отправка/получение события клиента 4) Специальная форма URL с обработчиком, таким как repviewer:/ /имя/параметры


person nicktook    schedule 10.09.2012    source источник


Ответы (1)


На MDN есть довольно подробная статья на эту тему. . Лучший способ добиться этого без ущерба для безопасности — отправить стандартное событие с веб-страницы. Верхний документ XUL должен вызывать addEventListener() с четвертым параметром, установленным на true, что позволит ему получать такие ненадежные события. Данные могут передаваться через атрибут цели события, после чего XUL-документ может проверять этот атрибут.

person Wladimir Palant    schedule 11.09.2012