您的位置:首页 > Web前端 > HTML

调试QWebEngineView中的HTML时,调试页面空白,出现document.registerElement is not a function的原因和解决办法

2020-07-12 17:23 1036 查看

其实关键部分一小段就说完了

进入远程调试的页面后没有反应,打开chrome的调试界面出现

Uncaught TypeError: document.registerElement is not a function
这一错误,很可能是由chrome版本问题导致,可以尝试在程序内使用另一个qwebengineview打开调试地址,或是使用低于80版本的浏览器(79版本的亲测可行),也许未来更高版本的浏览器或qt会解决这个问题。

关于QWebEngine和QWebChannel的使用

最近在尝试使用QWebEngine和QWebChannel做个qt内嵌网页并可以与之交互的demo。
具体使用方法可以参考
Qt嵌入浏览器(一)——QWebEngineView实现浏览器基本功能
最清晰Qt与JS通过qwebchannel交互例子
我认为这两篇文章写的都非常不错,我就不复制粘贴啦。

对html的调试方法其实链接的第一篇文章就有了,只不过我不太想在程序中添加应用界面,就没按那个做(结果这种做法就是解决方案之一),使用chrome浏览器进行调试的方法如下:
Qt QWebEngineView 调试

结果我操作的时候却出现了问题,打开调试页面的地址浏览器没有反应。在我发布这篇文章的时候,这个问题相对的还算比较新(似乎做类似功能的也比较少,毕竟80版本就开始出问题了,现在浏览器最新版本都83了),网上资料比较少,最后终于在stack overflow上找到了遇到相同情况的人并发现了解决方案。

原文链接:
Qt QWebEngine Remote Debugging: Chrome developer tools no longer work

知道问题出在浏览器版本上之后,就有办法了。

Uncaught TypeError: document.registerElement is not a function问题的解决办法

一、像Qt嵌入浏览器(一)——QWebEngineView实现浏览器基本功能中的做法,使用另一个QWebEngineView打开调试地址。
二、使用80以下版本的Chrome浏览器。

(我都尝试了,本人重新安装了79版本的浏览器,两种方法均可以正确进行调试)

不要说“浏览器版本不对换版本那不是废话嘛……”我还是折腾了一段时间才最终确定问题出在浏览器上的,如果能帮助遇到相同问题的人就再好不过啦。

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐