別のタブでハイチャートを作成しようとしています。しかし、高いチャートが定義されていないというエラーが出ています。私はさまざまな方法でHighchart.jsを登録しようとしました。コードを以下に示します。document.createElement( 'script')に 'src'属性を設定しますか?
function OpenWin() {
var w = window.open();
w.document.open();
w.document.write('<div id="container" style="width:100%; height:400px;"></div>');
var scriptHead = w.document.createElement("SCRIPT");
//scriptHead.setAttribute('src','http://code.highcharts.com/highcharts.js');
var link = "http://code.highcharts.com/highcharts.js";
scriptHead.src = link;
w.document.head.appendChild(scriptHead);
var script = w.document.createElement("SCRIPT");
w.document.body.appendChild(script);
var js = w.document.createTextNode('var a = localStorage.getItem("ImportOptions"); console.log(JSON.parse(a)); var chart = new Highcharts.Chart(JSON.parse(a))');
script.appendChild(js);
w.document.close();
}
おそらくスクリプトのロードイベントを使用して、ロジックを定義する必要があります。私はあなたがそれを追加していると思います、 'scriptHead'は非同期です。ですから、以下のロジックを 'scriptHead.onload = function(){var script = w.document.createElement(" SCRIPT "); /*...*/}; ' –