問題タブ [nw.js]

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.

0 投票する
1 に答える
2374 参照

node-webkit - nw.js で PDF を表示するにはどうすればよいですか?

皆さん-私は途方に暮れています。ここのマニフェストに従って指示に従いました: https://github.com/nwjs/nw.js/wiki/Third-party-browser-plugins

  • "plugin": true「webkit」セクションに含めました。
  • Chrome の Internet Plug-ins フォルダーから PDF.plugin ファイルを見つけて、nw.js アプリの{root}/pluginsフォルダーに追加しました。

PDFファイルを表示できません。受け続けています'Couldn't load plug-in'

私は何を間違っていますか?誰かアドバイスをお願いできますか?

0 投票する
2 に答える
679 参照

javascript - 関数を iframe 内で実行 | NW.js (node-webkit)

親ドキュメントから、iframe に設定された関数を呼び出そうとしています。ここに私が意味するものがあります..

INDEX.HTML

テスト.HTML

それが私が今持っているものです。おわかりのように、インデックスは iFrame 内で定義された関数を呼び出す必要がありますが、そうではありません。それは未定義だと言っているだけです。

うまくいけば、これはあなたにとって理にかなっています。また、iFrame を完全に制御するために NW.js (node-webkit) を使用しています。

助けてくれてありがとう!

0 投票する
1 に答える
1917 参照

javascript - iFrame コンテキストで Javascript を実行する

で実行する必要があるスクリプトを Web ページで実行しようとしています<iframe>。今、私は . 内に設定されている関数を呼び出すことができます..のコンテキスト<iframe>に対してスクリプトを実行する際に問題が発生しています。<iframe>

で設定された関数を実行する方法は次のとおりです<iframe>

関数を呼び出す代わりにpreformSearch、スクリプトを実行したい - この例では、これはスクリプトです...

私の実際のスクリプトは大きなものなので、ここには記載しません - この質問のために。

では、そのスクリプトを<iframe>のコンテキストで実行する方法はありますか? たとえば、私の最初の推測は/でした..

ただし、以前のような関数の実行を台無しにしたことは一度もない<iframe>ので、困惑しています。

事前に助けてくれてありがとう!

<iframe>: すべての制限を削除するために NW.js (Node-Webkit) を使用しています。

注 v2 このpreformSearch()関数は、フレーム内で関数を呼び出す方法の参考に過ぎませんでした。

0 投票する
1 に答える
284 参照

node-webkit - サブメニューのあるMenuItemでクリックイベントが発生しない

私の nw.js アプリには、「親」メニュー項目を持つメニューバーがあります。「親」には、クリック イベントとサブメニューの両方があります。サブメニューがある場合、親のクリック イベントがトリガーされないことに気付きました。サブメニューの親メニュー項目でクリック イベントをキャプチャする方法はありますか? それとも、これは単に予想される動作ですか?

0 投票する
1 に答える
402 参照

gruntjs - node-webkit (nw.js) を使用した Browserify

grunt-browserify を使用して、nw.js 用のアプリケーションをビルドしています。問題は、process.cwd() または __dirname が絶対パスではなく相対パスを返すことです。detectGlobals と insertGlobals オプションのさまざまな組み合わせを試しました。動作しません。browserify ポリフィルの使用を制限するにはどうすればよいですか?

0 投票する
0 に答える
1785 参照

javascript - サムネイル生成時の pdf.js メモリ リーク

大量の PDF を表示する必要がある nw.js アプリケーションを作成中です。アプリケーションを初めて起動すると、PDF が最初にダウンロードされます。初期化フェーズでは、リストに表示される各 PDF のサムネイルも作成する必要があります。

PDF がいくつかある場合、サムネイルの生成自体は問題にならないようです。canvas 要素を作成し、PDF.js に最初のページを描画させてから、キャンバスを PNG に保存することで機能します。

問題は、実行間で PDF.js が PDF をアンロードしていないように見えることです。通常、1MB の PDF ファイルを 20 個読み込むと、nw.js は約 500MB の RAM を使用します。現在、100 以上、場合によっては数千の PDF があるため、各サムネイル間で RAM を解放する方法を理解する必要があります。約 80 個の PDF で、nw.js は既に 2 GB の RAM を使用しており、ラップトップをフリーズさせているためです。メモリが不足しています。

この問題を示す簡単なテストを作成しました。

私は前にこのようなことをしたことがありません。すべての親指に同じキャンバスを再利用しようとしましたが、何も変わらないようです。

開発者ツールでヒープ スナップショットを実行して、RAM をすべて占有しているものを確認しようとしましたが、どう思いますか? スナップショットを実行する前にガベージ コレクションをトリガーするように見えるため、nw.js はスナップショットを実行する前に 500MB から約 100MB になります。これにより、オブジェクトは実際には削除対象としてマークされているが、コンピューターの RAM が不足する前に GC を実行する機会は決してないと信じてしまいます。ただし、20 個のファイルをロードしてから待機しても、GC はトリガーされず、RAM が不足することもありません。

PDF.js の API とドキュメントを確認しようとしましたが、次の PDF をロードする前に PDF をアンロードする方法について言及しているものは見つかりませんでした。

どのように進めるべきかについてのアイデアはありますか?私が持っていたアイデアは、いくつかの外部ツールを呼び出すか、node-ffi を使用して呼び出す ac/c++ lib を作成することでしたが、PDF.js を使用して後の状態で PDF を表示する必要がありました。同じ問題が再び発生するだけです。