Facebook SDK внутри Firefox (обратный вызов из окна контента в окно) - PullRequest
0 голосов
/ 07 марта 2012

Я разрабатываю аддон для Firefox и хотел бы использовать в нем фейсбук SDK. Одна из функций, которые мне нравятся - это обратный вызов, который срабатывает при нажатии кнопки «Мне нравится». Подробно я имею в виду это: FB.Event.subscribe ('edge.create', function () {dump ("как нажато");});

В настоящее время я делаю это так. Я открываю слой в текущем окне с помощью iframe. Этот iframe содержит API Facebook + функции, которые я хотел бы использовать. Моя проблема в том, что я не могу вызывать свои аддон-функции изнутри этого iframe. То, что я хотел бы сделать, было бы что-то вроде: FB.Event.subscribe ('edge.create', function () {fbClass.like ();});

По-моему, у меня одна идея. Я думаю, для обеспечения безопасности было бы хорошо создать пустой скрытый контейнер div в этом iframe, присоединить к нему EventListener и заполнить его с помощью json. Затем используйте Firefox Safe JSON Loader, чтобы получить его.

Любая другая идея, как я мог бы сделать это без создания проблемы безопасности? Я попытался портировать FB API на FF, но это привело к пустой трате времени. Конечно, у меня есть некоторые функции, но отлаживать их сложно, и в случае изменения API мне придется делать это снова. Поэтому я думаю, что способ iframe был бы намного лучше.

1 Ответ

0 голосов
/ 12 марта 2012

Я хотел бы предложить вам, что использование Add-on SDK облегчает эту задачу.Вы можете добавить свой код на страницу с помощью PageMod и из скрипта содержимого вызывать функцию вашего дополнения с помощью postMessage.Это также поможет вам отделить код контента от кода аддона.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...