Можно ли создавать собственные элементы XUL из XPCOM или NPAPI?

Мне было интересно, возможно ли создать новый компонент XUL с помощью любого доступного API, такого как XPCOM или NPAPI, чтобы мы могли использовать его в наших файлах XUL.

Допустим, я хотел клонировать код компонентов XULs vbox и добавить в него несколько модификаций, чтобы мы могли использовать наш пользовательский компонент XUL, например, так:

<window>
    <myvbox mycustomarg1="customValue"> Some content... </myvbox>
</window>

Я знаю, что такое XBL и для чего он нужен, и он не соответствует нашим потребностям.

Любое предложение о том, как этого добиться?

Редактировать:

Нам нужно создать компонент браузера в Firefox как дочерний элемент другого объекта браузера. Проблема в том, что некоторые сайты определяют этот дочерний браузер как iframe, и мы хотим избежать этого.

Благодарю.

1 ответ

Решение

Если суть заключается в том, что веб-страница, загруженная в фрейм, не мешает вашему документу XUL, тогда вам следует использовать <browser type="content"> - это устанавливает границу безопасности между chrome и контентом, что (помимо прочего) препятствует доступу документа контента к его родительскому фрейму. Однако важно, чтобы ваш XUL-документ сам загружался как хром, а не как контент (находясь либо на верхнем уровне, либо внутри <browser type="chrome">). См. https://developer.mozilla.org/en/XUL/Attribute/browser.type для документации.

Другие вопросы по тегам