是否可以使用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?
答案 0 :(得分:1)
我认为您必须先解析脚本标记的内容(手动获取HTML页面,然后使用例如RegExp查找所有脚本元素的内容),然后将其作为字符串传递给eval()。不太好的是<script>
中的JS代码可能正在使用其他一些JS代码(外部,在此元素之前加载等),因此您可能还需要检查这些“依赖项”。
答案 1 :(得分:0)
你只能通过Ajax call
或像iframe
刷新
答案 2 :(得分:0)
如果我理解正确,你想在网站上调用现有的JavaScript,并自己添加一些逻辑。
您根本不必使用Java,只需通过
将JavaScript注入该页面即可浏览器扩展我建议Kango
或者只是将代码粘贴到浏览器控制台