2011-01-26 154 views
0

正在关注this tutorial我能够从剪贴板中检索数据。如何将文本粘贴到浏览器?

但我不知道如何将我的字符串插入到the xul browser(比如,当用户打开'编辑'菜单并点击'粘贴')时,我不知道(无论在API中有什么)。

有什么想法?

--update

有一个cmd_pastehere,但没有暗示,如果我可以(以及如何)用它在浏览器中粘贴。另外browser's API可用文档没有任何关于。

我试图让它工作创造一个浏览器,设置command属性(如果不知道它的存在,the 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内,在内容/全球/ editMenuOverlay.xul有定义:

<command id="cmd_paste" oncommand="goDoCommand('cmd_paste')"/> 

但没有 “goDoCommand” 方法被定义在那里,无论是在唯一的JavaScript文件中:editMenuOverlay.js

回答

0

找到goDoCommand后(查看问题更新),我发现该函数在globalOverlay.js文件中。

所以我加入到我的XUL:

<script type="application/x-javascript" src="chrome://global/content/globalOverlay.js" /> 

和使用的goDoCommand命令。

不确定是否最好甚至是正确的方法将这个js添加到我的Xul,但看起来很喜欢。

0

你真的需要“粘贴”命令吗?难道你不能仅仅使用你找到的教程检索剪贴板中的数据,并且在按下过去的按钮时将它复制到当前聚焦的文本元素中?

+0

“当按下粘贴按钮时,将其复制到当前聚焦的文本元素中”这是我正在尝试执行的操作,以及粘贴命令的作用。现在,我该怎么做? (请注意,我在我自己的应用程序中,而不是在Firefox中,并且我没有粘贴按钮可供使用,所以我需要做一个)。 – 2011-01-27 11:17:35

相关问题