問題タブ [universalxpconnect]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
javascript - XPConnect (Firefox) - オブジェクトから値を取得する方法
クリップボード JavaScript 関数から読み取りを作成しようとしていますが、通常は機能していますが、out パラメータ (Components.interfaces.nsITransferable) を使用して作成したオブジェクトから実際の文字列を抽出できないようです。ご参考までに、これはローカル イントラネット用であり、クリップボードへのアクセスを有効にしています。
これは、out パラメーターのオブジェクトを作成して設定するコードの一部です。obj_length.value を返すと、正しい長さ (Unicode の場合は *2) が得られるため、基本的に機能していることはわかっています。ただし、obj.value は [xpconnect でラップされた nsISupports] 型のオブジェクトしか提供しません。クリップボードの内容を含む文字列が必要です!
クリップボードの内容を抽出する方法を教えてください。私はとても近いです!
javascript - Firefox で JavaScript を使用して Outlook を開く
Javascript から Outlook を開きたいのですが、これは内部アプリケーション用であり、Web にヒットするものは何もありません。お客様は IE を使用しており、Firefox と Outlook がインストールされます。セキュリティは問題ありません。
この場合、「mailto:」だけでは十分ではありません。メールにファイルを添付する必要があるため、「mailto:」を使用してもこれを実行できないようです (古いフォーラム エントリが見つかりました。しかし、私が試したものは何も機能せず、mailto URL スキームは公式にサポートしていないようです)。しかし、IE では ActiveX を使用できます。
そして、私はそれをいじり、体を追加し、添付ファイルを追加することができます.
Firefoxで何らかの方法でこのようなことは可能ですか?
私がすでに知っていたのは、tiddlywiki が何らかの方法でハードディスクに自分自身を保存できるという点で、いくつかの異常なことを行うということでした。というわけで、ソースを調べたところ、次のことがわかりました。
私が理解しているように、スクリプトはブラウザ API/ XPConnect /XPCOM にアクセスできます。しかし今、私は立ち往生しています。Outlook オブジェクトを実際に開くにはどうすればよいですか? これは実用的なアプローチでしょうか?わからない。多分他のアイデアはありますか?アドバイスをいただければ幸いです。
更新: OK、いくつか読んだ後、私の質問の 1 つに次のように答えることができると思います: いいえ、XPCOM を実装している Mozilla API は外部プログラムを開くようなものをサポートしていないため、このアプローチは機能しません。まだ質問が残っています: 他のアイデアはありますか?
javascript - JavaScriptでチャンクごとにローカルファイルを読み取る方法は?
たとえば、ローカルハードドライブに500バイトのサイズのファイルがあり、ファイル全体をメモリにロードせずに、最初の100バイトを読み取りたいとします。の助けを借りてJavaScriptでそれを達成する方法はUniversalXPConnect
?もちろん、Firefoxのみ。
javascript - JavaScriptでローカルファイルをチャンクで読み取る方法は?
Firefox で JavaScript を使用してローカル ファイルをチャンク単位で読み取る方法を学習しました ( JavaScript でローカル ファイルをチャンク単位で読み取る方法は? )。
しかし、最初の数バイトではなく、特定の範囲のバイトを読みたい場合はどうすればよい100-200
でしょうか。どうにかしてオフセットを設定することは可能ですか?
javascript - 唯一のオプションは、そのコード ブロックを各関数に含めることですか?
私の機能のいくつかは、UniversalXPConnect
特権を有効にする必要があります。
したがって、私の関数は次のようになります。
実は、私も特権が拒否された場合try
を例外にしています。catch
次のようになります。
それを別の関数にして、次のように関数内から呼び出すことをお勧めします。
関数enablePrivilege
が次のようになるとします。
ただし、セキュリティ上の理由から、権限は要求関数の範囲内でのみ付与されるため、これは不可能です。
では、唯一のオプションは、そのコード ブロックを各関数に含めることですか?
アップデート:
他のいくつかの例外についても説明try
するのでcatch
、最終的には次の設計になりました。
javascript - firefox 17 での UniversalXPConnect 権限エラー
iframe との間でフォーム データをコピーおよび挿入する小さな Web JS があります。しかし、Firefox 17 では機能しません。次のコードを使用しています。
何が間違っている可能性がありますか?回避策はありますか?