【发布时间】:2018-08-02 19:26:29
【问题描述】:
我有一个带有两个按钮的 java 程序,一个用于 chrome,一个用于 Firefox。我按下其中一个,浏览器从屏幕上的某个特定位置开始,尺寸变小。
我尝试过运行终端命令,类似这样的
"C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" --profile-directory="Default" --app="data:text/html,<html><body><script>window.moveTo(198,60);window.resizeTo(1167,708);window.location='https://stackoverflow.com';</script></body></html>"
它有效,但仅适用于 chrome。我希望在 windows 和 linux 上至少有 chrome 和 firefox。
搜索了一下,我遇到了其他解决方案。在 java 上运行 javascript,类似于:
ScriptEngineManager factory = new ScriptEngineManager();
ScriptEngine engine = factory.getEngineByName("JavaScript");
engine.eval("window.open('https://stackoverflow.com')");
engine.eval("window.resizeTo(800,600)");
但我收到编译错误:
ReferenceError: "window" is not defined in <eval> at line number 1
我不知道发生了什么。想法?
【问题讨论】:
-
您是否尝试将 url 字符串用引号括起来?
-
好的,谢谢!现在我得到 ReferenceError: "window" is not defined in
at line number 1 -
那你为什么不使用命令行开关来设置位置和大小呢?
-
在 JVM 中运行的 JavaScript 引擎很可能没有全局对象,因此没有像您在浏览器中找到的 DOM。这就是为什么它不知道
window是什么意思。这是一个特定于浏览器的概念。
标签: javascript java