java - 从java代码调用网站的javascript函数?

标签 java javascript

是否可以使用java代码来调用网站源代码中的javascript函数?

想象一个具有以下代码的网站:

<script>
 function sayHello(name) {
    return "Hello " + name;
}
</script>

我可以从连接到该网页的客户端调用“sayHello”吗? (我知道如果我在本地保存了 *.js 文件,我可以从 java 调用 javascript。但我不希望这样,因为 JS 可能会在我想要调用该函数的网站上发生变化)。

 ScriptEngineManager factory = new ScriptEngineManager();
 ScriptEngine engine = factory.getEngineByName("JavaScript");
 engine.eval(..); //is it possible to invoke the JS function on the website?

最佳答案

我认为你必须首先解析脚本标签的内容(手动获取 HTML 页面,然后使用例如 RegExp 查找所有脚本元素的内容),然后将其作为字符串传递给 eval() 。不太漂亮的是 <script> 中的 JS 代码可能正在使用一些其他 JS 代码(外部、在此元素之前加载等),因此您可能还需要检查这些“依赖关系”。

关于java - 从java代码调用网站的javascript函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21753687/

相关文章:

javascript - 通过 AJAX 将 Rails 变量传递给部分?

Java 安全测试

java - 如何将 getSource() 转换为 JTextField?

java - 如何在android中获取Facebook信息

javascript - 单击时更改输入字段的文本

javascript - Materialise CSS 框架抛出错误

debian - VM 启动后更改 java -Xmx

java - JDBC 连接在远程工作但在本地不工作

javascript - 如何在javascript中的每个单词后添加符号

javascript - 检查第一个空白单元格的函数