Кто-нибудь знает, где находится какой-нибудь годный к использованию XPJS или XPCOM в JS, документация для последних версий Firefox / Gecko?И примеры кода / учебники тоже были бы хороши.
Мне нужно написать свой собственный Компонент, но без .IDL (без скомпилированного интерфейса C ++), чтобы я мог получить к нему доступ через
Components.classes['@com.mareksebera/compname;1'] .getService().wrappedJSObject;
или этот способ больше не поддерживается?Я не могу использовать
Components.classes['@com.mareksebera/compname;1'] .createInstance(Components.interfaces.nsICompName);
Из-за отсутствия скомпилированного интерфейса nsICompName
nsICompName
И да, я знаю, что NSGetModule устарела, и я использую NSGetFactory и XPCOMUtils.jsm
NSGetModule
NSGetFactory
XPCOMUtils.jsm
Я знаю это, но они не подходят для современных версий браузеров
https://developer.mozilla.org/en/Creating_Custom_Firefox_Extensions_with_the_Mozilla_Build_System https://developer.mozilla.org/en/Using_XPCOM_in_JavaScript_without_leaking https://developer.mozilla.org/en/how_to_build_an_xpcom_component_in_javascript
Третья ссылка, которую вы упомянули, довольно хороша. Другой способ получить примеры - на самом деле загрузить исходный код Mozilla и посмотреть в подкаталогах / tests. Там есть несколько примеров созданных javascript объектов XPCOM.
Один пример, который приходит на ум, можно найти по адресу:
<mozilla-central>\content\xtf\test\unit
Но есть множество примеров по всей базе кода.
Если вы предпочитаете, вы также можете просмотреть код онлайн через mxr .