Ich versuche eine App zu erstellen, die ein Liniendiagramm mit der Google Charts API zeichnet. Eine Sache, die ich eingerichtet habe, ist ein Ereignis-Listener im Fenster für das 'resize' Ereignis. Dadurch wird das Liniendiagramm neu gezeichnet, wobei die Dimensionen 'window.innerWidth' und 'window.innerHeight' an die neue Fenstergröße angepasst werden.Electron 'Fenster' ist nicht definiert
Das alles funktioniert ganz gut, wenn ich die App npm Start ausgeführt werden. Problem ist, wenn ich die App mit dem Electron-Packager baue. Ausführen der exe es wirft diese baut:
Hier ist mein HTML:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>AP Test Viewer</title>
<link rel="stylesheet" href="css/styles.css">
</head>
<body ng-app="ApApp" ng-controller="MainController">
<a ui-sref="single">Single</a>
<a ui-sref="multi">Multi</a>
<ui-view></ui-view>
</body>
<script>
// You can also require other files to run in this process
require('./renderer.js');
require('./js/loader.js'); //google charts loader.js
require('./js/app.js');
</script>
</html>
und der relevante Teil meiner app, wo ich Fenster verwenden hier:
app.fun.drawGraph = function(){
if(app.data.graphConfig){
app.data.graphConfig.options.width = window.innerWidth * 0.97;
app.data.graphConfig.options.height = window.innerHeight * 0.90;
var chart = new google.visualization.LineChart(document.getElementById('chart'));
chart.draw(app.data.graphConfig.data, app.data.graphConfig.options);
// chart.draw($scope.graphData, google.charts.Line.convertOptions(options));
}
}
window.addEventListener('resize', function(e){
if(app.data.graphConfig){
app.fun.drawGraph();
}
})
Soweit ich Wissen Sie, dies sollte nur "Fenster" sein, wie es von Javascript auf einer Webseite aufgerufen werden kann.
hast du das gelöst? Ich stehe genau vor dem gleichen Problem. – ThunderWiring