关注this tutorial我能够从剪贴板中检索数据。
但我不知道(在API中有什么内容)关于如何将我的字符串插入the xul browser(例如,当用户打开'edit'菜单并点击'粘贴')时。
有什么想法吗?
- 更新
有一个cmd_paste
here,但如果我可以(以及如何)使用它在浏览器中粘贴,则没有任何提示。此外,browser's API可用文档也没有任何内容。
我尝试创建浏览器,设置command
属性(不确定它是否存在,the API什么也没说,但它是一个不太可靠的wiki)和一个粘贴按钮:< / p>
<?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
。
答案 0 :(得分:0)
你真的需要一个“粘贴”命令吗?难道你不能使用你找到的教程从剪贴板中检索数据,并在按下过去的按钮时将其复制到当前聚焦的文本元素中吗?
答案 1 :(得分:0)
找到goDoCommand(参见问题更新)后,我发现该函数位于globalOverlay.js文件中。
所以我加入了我的Xul:
<script type="application/x-javascript" src="chrome://global/content/globalOverlay.js" />
并使用goDoCommand命令。
还不确定将这个js添加到我的Xul中是否是最好的甚至是正确的方法,但看起来还不错。