2011-01-26 160 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

相關問題