gpt4 book ai didi

java - 使用 Java 代码中的 Javascript 函数关闭 Windows 资源管理器弹出窗口

转载 作者:行者123 更新时间:2023-11-28 09:09:23 24 4
gpt4 key购买 nike

如何在Java代码中使用Javascript函数关闭Windows资源管理器弹出窗口?

我必须在我的 java 代码中关闭 Windows 资源管理器弹出窗口。我正在使用 javascript 函数 window.close() 来关闭它,因为此窗口弹出窗口正在破坏我的循环。

这是一段代码:

  ScriptEngineManager manager = new ScriptEngineManager();  
ScriptEngine engine = manager.getEngineByName("JavaScript");
String script = "function winClose() {"+"var close_result = window.parent.close();"+"" +"document.getElementById('close_result').value = close_result;"+"console.log(\"change the box value\");}";
engine.eval(script);
Invocable inv = (Invocable) engine;
inv.invokeFunction("winClose", "Window close!!" );

但是它给了我一个异常,即window未定义。

其实我从来没有在Java代码中使用过Javascript。所以请帮我解决 Javascript 中的窗口关闭功能。

最佳答案

虽然你没有提到这一点,但我希望你的java代码是applet的一部分。在这种情况下,您应该使用实时连接 API,而不是 ScriptingEngineManager。

ScriptingEngineManager 仅运行 Rhibno - JavaScript 语言的纯 java 实现。您可以在小程序(在浏览器中运行)中使用它,也可以不使用它。您以这种方式运行的引擎完全独立于运行到浏览器中的 JavaScript,因此不知道浏览器注入(inject)到其上下文中的任何对象,例如 windowdocument

请查看live connect文档和示例以获取更多详细信息。不久它最初是由 Netscape 技术开发的,允许小程序与它们运行的​​页面进行通信。因此,包装中包含该公司的名称。

但请注意:小程序在大约 10 年前就已经过时了,并且如今已成为众所周知的死亡技术。我可以建议您仔细检查一下您是否确实想使用它吗?有瘦客户端替代方案 - 检查它们。

关于java - 使用 Java 代码中的 Javascript 函数关闭 Windows 资源管理器弹出窗口,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16516018/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com