2017-11-09 4 views
0

私は、電子メールでwindow.loadurlを使用し、HTMLでwebviewを読み込みました。アプリケーションが表示されますが、のような別のエラーで:完全な機能を備えたWebアプリケーションをロードしていない電子

$ jquery not defined 
Uncaught TypeError: $(...).daterangepicker is not a function 
Uncaught TypeError: Cannot read property 'getContext' of undefined 

私はさまざまな方法を試し、最後に「$のjqueryの定義されていません」というエラーをオフに取り除きます。 なぜ電子はブラウザとして動作していません。このアプリケーションは、すべてのブラウザで正常に動作しています。 どのようにして、このWebアプリケーションを自分の電子機能にロードできますか? 私のWebアプリケーションは、次のとおりです。

www.mcgeoautomation.com

私のindex.jsファイルは次のとおりです。

const electron = require('electron'); 
const app = electron.app; 
var path=require('path'); 


const BrowserWindow = electron.BrowserWindow; 
var mainWindow; 

app.on('ready',function(){ 
    mainWindow = new BrowserWindow({ 
     width: 1024, 
     height: 768, 
     backgroundColor: '#2e2c29', 
     show:false, 
    }); 

    mainWindow.loadURL(`file://${__dirname}/webView.html`); 
    mainWindow.maximize(true); 
    // mainWindow.setMenu(null); 
    mainWindow.once('ready-to-show',()=>{ 
     mainWindow.show() 
    }) 

    mainWindow.on('close', (e)=>{ 

     app.quit(); 
    }); 
}); 

package.jsonファイル:

`{ 
    "name": "crushmate", 
    "version": "1.0.0", 
    "description": "", 
    "main": "index.js", 
    "scripts": { 
    "start": "electron ." 
    }, 
    "author": "", 
    "license": "ISC", 
    "dependencies": { 
    "electron": "^1.7.9", 
    "jquery": "^3.2.1" 
    }, 
    "devDependencies": { 
    "electron-prebuilt": "^1.4.13" 
    } 
}` 

してくださいヘルプ... よろしく...

答えて

0

電子はjQueryを処理しません。通常のブラウザと同じです。基本的にはwebviewに注入する必要があります。これを今はテストすることはできませんが、それを働かせるためにあなたを得るべきです。

index.htmlを

<!DOCTYPE html> 
<html> 
    <head> 
    <title>jQuery injection into webview preload</title> 
    </head> 
    <body style="overflow:hidden;"> 
    <webview id="webview" preload="./preload.js" src="http://www.mcgeoautomation.com" style="position:absolute;width:100%;height:100%;"></webview> 
    <script> 
     // need to have a script tag make webview work even if you don't plan to use it... 
    </script> 
    </body> 
</html> 

preload.js

この方法で
window.onload = function() { 
    var script = document.createElement("script"); 
    script.src = "https://code.jquery.com/jquery-2.1.4.min.js"; 
    document.body.appendChild(script); 
}; 
+0

、私は簡単にそれは今最初のログインフォームにそれは未定義の$ jqueryの 'を見せていた。サインインすることができますが、明らかです。しかし、他のすべての問題はまだそこにあります。ドロップダウンは機能しません。ボタンのクリックが機能しません。コンソールにエラーが表示されません。 @kemotoe – faheemKurikkal

関連する問題