gpt4 book ai didi

javascript - 网页检查器模式下的 JavaFX 和 Firebug Lite

转载 作者:行者123 更新时间:2023-12-03 10:23:14 25 4
gpt4 key购买 nike

我使用 WebView 使用 JavaFX 创建了一个简单的浏览器。我还添加了 Firebug Lite 来检查网站。为了启用 Firebug Lite,我使用了 WebEngine 和方法 executeScript():

engine.executeScript("if (!document.getElementById('FirebugLite')){E = document['createElement' + 'NS'] && document.documentElement.namespaceURI;E = E ? document['createElement' + 'NS'](E, 'script') : document['createElement']('script');E['setAttribute']('id', 'FirebugLite');E['setAttribute']('src', 'https://getfirebug.com/' + 'firebug-lite.js' + '#startOpened');E['setAttribute']('FirebugLite', '4');(document['getElementsByTagName']('head')[0] || document['getElementsByTagName']('body')[0]).appendChild(E);E = new Image;E['setAttribute']('src', 'https://getfirebug.com/' + '#startOpened');}");

如何在JavaFX中拦截Firebug Lite的检查器函数的返回值(我猜是一个字符串)?

最佳答案

只需将其放入变量中即可:

Object result = engine.executeScript("if (!document.getElementById('FirebugLite')){"+
"E = document['createElement' + 'NS'] && document.documentElement.namespaceURI;"+
"E = E ? document['createElement' + 'NS'](E, 'script') :"+
"document['createElement']('script');"+
"E['setAttribute']('id', 'FirebugLite');"+
"E['setAttribute']('src', 'https://getfirebug.com/' + 'firebug-lite.js' + '#startOpened');"+
"E['setAttribute']('FirebugLite', '4');"+
"(document['getElementsByTagName']('head')[0] || document['getElementsByTagName']('body')[0]).appendChild(E);"+
"E = new Image;E['setAttribute']('src', 'https://getfirebug.com/' + '#startOpened');}"
);

返回值的实际类型取决于Javascript的执行结果,你可以向下转换为合适的类型。例如,如果您知道它是一个String,您可以这样做

String result = (String) engine.executeScript(...);

documentation明确列出不同的 Javascript 类型如何映射到返回的 Java 类型。

关于javascript - 网页检查器模式下的 JavaFX 和 Firebug Lite,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29534763/

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