有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

将非常大的变量从Java应用程序传递到Javascript

将非常大的字符串(数兆字节)从Java应用程序导出到页面javascript的最快方法是什么?目前,浏览器需要很长时间才能停止运行

下面是我用来修改DOM的代码:

window = JSObject.getWindow(this);
document = (JSObject) window.getMember("document");
for (int i = 0; i < encHexFileUploadStr.length(); i++){
    char c = encHexFileUploadStr.charAt(i); 
    document.eval("document.getElementById('encOutgoingData').value += '"+c+"';");
    if (i % 100 == 0) document.eval("console.log("+i+");");
}

在此之前,我试图一次直接分配encHexFileUploadStr变量,但效果并不好

有没有什么不那么慢的好方法

谢谢


共 (1) 个答案

  1. # 1 楼答案

    但是,如果您使用的是文档,我没有尝试将您提到的数据量从Java应用程序传输到网页。eval您遇到的性能问题很可能是由于eval语句所需的处理。另一种方法是直接调用执行实际数据更新工作的JavaScript方法。下面是一个如何使用这种方法的示例:

    Java

    JSObject jso = JSObject.getWindow(this);
    // invoke JavaScript method updateData with parameter encHexFileUploadStr
    jso.call("updateData", new String[] { encHexFileUploadStr });
    

    JavaScript

    function updateData(s) {
        document.getElementById('encOutgoingData').value = s;
    }