Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/363.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在javascript中:“引用;文件「;未定义错误_Javascript_Java - Fatal编程技术网

在javascript中:“引用;文件「;未定义错误

在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

我想在我的java项目中使用Karspersky小部件,但我没有在java中运行html代码。我试图只运行js,但出现错误:

原因:
: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需要什么功能?