在我的应用程序,我打开一个新窗口var w = window.open()
。我访问CanvasJS API与:如何从新窗口访问jQuery?
var canvas = w.document.createElement('script');
canvas.type = "text/javascript";
canvas.src = "https://canvasjs.com/assets/script/canvasjs.min.js";
w.document.head.appendChild(canvas);
这工作得很好。我与jQuery的同样的事情,并确保我自己的脚本之前将其追加但我得到这个错误:ReferenceError: $ is not defined
这里是我的代码如下所示:
var w = window.open('','_blank',width,height);
w.document.body.innerHTML = '<body> //create chart container here </body>';
var jQuery = w.document.createElement('script');
var canvas = w.document.createElement('script');
var script = w.document.createElement('script');
canvas.type = "text/javascript";
canvas.src = "https://canvasjs.com/assets/script/canvasjs.min.js";
jQuery.type = "text/javascript";
jQuery.src = "https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js";
script.textContent = "//my script content here, this is where I use the '$' jQuery object";
w.document.head.appendChild(jQuery);
w.document.head.appendChild(canvas);
w.document.head.appendChild(script);
动态添加的脚本异步加载,并且完成的加载顺序不同。 – Teemu