2011-01-26 17 views
0

this tutorialに続いて、クリップボードからデータを取得できました。ブラウザにテキストを貼り付けるにはどうすればいいですか?

しかし、the xul browserに文字列を挿入する方法についてはわかりません(たとえば、ユーザーが「編集」メニューを開いて「貼り付け」をクリックしたとき)。

--update

cmd_pastehereがありますが、私は(そしてどのように)ブラウザに貼り付けるためにそれを使用することができれば何のヒントはありません。また、入手可能なbrowser's APIのドキュメントには何も記載されていません。

私はcommand属性(それが存在するかどうかわからない、the APIは何も言うが、それはあまり信頼性のwikiだ)&ペーストするボタンを設定し、それはブラウザを作成し動作させる試みた:

<?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> 

ナッシングボタンを押すと(クリップボード上のデータとブラウザ内で選択されたテキストフィールドで)発生します。 toolkit.jar内のXULRunnerソース

--in

は、コンテンツ/グローバル/ 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に追加するのが最良か、あるいは正しい方法かどうかはまだ分かりませんが、lookは大丈夫です。

0

本当に「貼り付け」コマンドが必要ですか?あなたが見つけたチュートリアルを使用してクリップボードからデータを取り出し、過去のボタンが押されたときに現在フォーカスされているテキスト要素にコピーすることはできませんでしたか?

+0

"貼り付けボタンが押されたときに、現在フォーカスされているテキスト要素にコピーします"これは私がやろうとしていることです。さて、どうしたらいいですか? (私は自分のアプリケーションでFirefoxではなく、ペーストボタンは用意されていないことに注意してください。 –

+0

申し訳ありませんが、わかりませんでした。私は次のようなことをしていました。 var clipBoardText = getClipBoardText(); myTextBox.value = clipBoardText; しかし私はブラウザで作業したことがないので、ブラウザのテキストボックスにテキスト値を設定する方法はわかりません。 – revers

関連する問題