在javascript中:“引用;文件「;未定义错误
我想在我的java项目中使用Karspersky小部件,但我没有在java中运行html代码。我试图只运行js,但出现错误: 原因:在javascript中:“引用;文件「;未定义错误,javascript,java,Javascript,Java,我想在我的java项目中使用Karspersky小部件,但我没有在java中运行html代码。我试图只运行js,但出现错误: 原因::31参考错误:“文档”未定义 我能做什么 public class MainClass { public static void main(String[] args) { ScriptEngineManager manager = new ScriptEngineManager(); ScriptEngine engine
:31
参考错误:“文档”未定义
我能做什么
public class MainClass {
public static void main(String[] args) {
ScriptEngineManager manager = new ScriptEngineManager();
ScriptEngine engine = manager.getEngineByName("js");
try {
FileReader reader = new FileReader("/home/havelsan/Desktop/widget.js");
engine.eval(reader);
reader.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}
widget.js
// Cybermap v2 widget loader
(function() {
function setup_widget(div) {
var config = {
width: div.dataset.width || 640,
height: div.dataset.height || 640,
language: div.dataset.language || 'en',
theme: div.dataset.theme || 'dark',
type: div.dataset.type || 'dynamic'
};
console.log("config.language >> " + config.language);
var iframe = document.createElement('iframe');
var baseURI = 'https://cybermap.kaspersky.com/';
iframe.src = baseURI + (config.type == 'dynamic' ? 'widget.html' : 'widget-static.html');
iframe.style.width = config.width + 'px';
iframe.style.height = config.height + 'px';
iframe.style.border = 'none';
iframe.onload = function() {
console.log("config.language >> " + config.language);
var msg = JSON.stringify({ config: config });
iframe.contentWindow.postMessage(msg, '*');
};
console.log("config.language >> " + config.language);
div.appendChild(iframe);
}
var divs = document.querySelectorAll('.kas-cybermap-widget');
for (var i = 0; i < divs.length; ++i) {
setup_widget(divs[i]);
}
}());
//Cybermap v2小部件加载程序
(功能(){
功能设置小部件(div){
变量配置={
宽度:div.dataset.width | | 640,
高度:div.dataset.height | | 640,
语言:div.dataset.language | |“en”,
主题:div.dataset.theme | |“黑暗”,
类型:div.dataset.type | |“动态”
};
log(“config.language>>”+config.language);
var iframe=document.createElement('iframe');
var baseURI=https://cybermap.kaspersky.com/';
iframe.src=baseURI+(config.type=='dynamic'?'widget.html':'widget static.html');
iframe.style.width=config.width+'px';
iframe.style.height=config.height+'px';
iframe.style.border='none';
iframe.onload=函数(){
log(“config.language>>”+config.language);
var msg=JSON.stringify({config:config});
iframe.contentWindow.postMessage(msg,'*');
};
log(“config.language>>”+config.language);
子类附件(iframe);
}
var divs=document.querySelectorAll(“.kas-cybermap小部件”);
对于(变量i=0;i
我用另一种方法解决了这个问题。我用过。它可以与Jpanel中的JFrame一起使用。我用另一种方法解决了这个问题。我用过。它可以与Jpanel中的JFrame一起使用。编写JavaScript代码以作为网页的一部分运行。您不能在网页的上下文之外运行它,因为这样就没有文档
以及与之连接的所有内容(如iframe、div等)。难道没有办法以这种方式运行吗?或者我可以用java运行html页面吗?您需要这个widget.js提供什么功能?JavaScript代码是作为网页的一部分运行的。您不能在网页的上下文之外运行它,因为这样就没有文档
以及与之连接的所有内容(如iframe、div等)。难道没有办法以这种方式运行吗?或者我可以用java运行html页面吗?这个widget.js需要什么功能?