После этого урока Мне удалось получить данные из буфера обмена.
Но я понятия не имею (как-то в API), как вставить мою строку в браузер xul (скажем, когда пользователь откроет меню «Правка» и нажмет «Вставить»).
Есть идеи?
- обновить
Здесь cmd_paste
есть , но нет никаких намеков, если я смогу (и как) использовать его для вставки в браузер.Кроме того, в доступной документации по API браузера ничего нет.
Я попытался заставить его работать, создав браузер, установив атрибут command
(не уверен, если он существует, API ничего не говорит, но это вики не очень надежно) и кнопка для вставки:
<?xml version="1.0"?>
<?xml-stylesheet href="chrome://global/skin/" type="text/css"?>
<window width="400" height="300"
xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
<browser id="mybrowser" command="cmd_paste" type="content" src="http://www.google.com/" flex="1" />
<button label="TEST PASTE" command="document.getElementById('mybrowser').doCommand();" />
</window>
Ничего не происходит, когда я нажимаю кнопку (с данными в буфере обмена и текстовым полем, выбранным в браузере).
- в источнике xulrunner
в toolkit.jar, в файле content / global / editMenuOverlay.xul есть определение:
<command id="cmd_paste" oncommand="goDoCommand('cmd_paste')"/>
, но метод goDoCommand там не определен, ни в одном включенном файле JavaScript: editMenuOverlay.js
.