2016-10-31 2 views
0

Electron 1.4.4を使用してWebサイトのOpenID Connectをテストするためのテストクライアントを作成しようとしていますが、jQueryが正しく動作しないという問題があります。Electronを使用してOpenID Connectクライアントをエミュレートする

メインプロセスの新しいBrowserWindowを使用して私たちのサイトを開き、そのページを参照してください。 DevToolsコンソールを見ると、「jQueryは定義されていません」というエラーが多数表示されます。 Chromeで同じページを読み込むと、エラーは表示されません。

UIの協力者の助けを借りて少し掘り下げて、彼はいくつかの違いを見つけました。 Chromeでは、jQueryはウィンドウオブジェクト(window.jQueryは関数)で定義され、モジュールは定義されていません(モジュールは未定義です)。 Chromium 53ではjQueryは定義されておらず(jQueryとwindow.jQueryは未定義です)、モジュールは定義されています(モジュールはオブジェクトです)。

これが関連しているが、別のチームによって管理されているDrupalによってページが生成されているかどうかは不明です。

ありがとう、ウェス。

+0

追加 'nodeIntegration:' webPreferences'へfalse'のはCommonJSを無効にし、jQueryのは、私がメインプロセスからレンダラープロセスでDOMにアクセスできる方法がわから正しくはなく、インストールすることができます。 – Wes

答えて

0

これは、this postの複製のようです。

ポストから以下の解決策はまだjQueryのへのアクセスを持ちながら、あなたはノードの統合を維持することができます。

ウィンドウ$ = window.jQuery =( './パス/に/ jqueryのを')が必要です。

「npm install --save jquery」の場合、「require( 'jquery')」が解決するため、jqueryへのパスを指定する必要はありません。

リンク先にはこれを回避するいくつかの方法があります。私が最初にこの問題にぶつかったとき、それは私を怒らせた。