我正在开发一个应用程序,需要在应用程序的 WebView/WebEngine 部分运行调试器,以便更好地调试我的应用程序。但是我在互联网上找到的用于注入(inject) Firebug Lite 的代码由于某种原因无法正常工作。
如果我在 Firefox 控制台上运行 Javascript 代码本身就可以正常工作,但是当通过 JavaFX webview/webengine 执行相同的代码时就不行了。 netbeans 控制台不会抛出任何其他错误...所以我不确定为什么 FirebugLite UI 没有呈现/加载。
可能是什么原因造成的,还有其他替代方案吗?
我正在使用 JavaFX 2.2
//不起作用....
webView.getEngine().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');}");
最佳答案
我能够解决问题。 FirebugLite 的当前稳定版本似乎适用于传统浏览器,但有些不同之处使其无法用于 JAVAFX WebView 查看的应用程序。
我能够通过使用 FirebugLite 的未压缩版本将 Firebug 添加到我的应用程序中
<script type='text/javascript' src='http://getfirebug.com/releases/lite/1.2/firebug-lite-compressed.js'></script>
关于JAVAFX/WebView/WebEngine FireBugLite 或其他一些调试器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17387981/