最近、いくつかのソフトウェア更新(Windows 10の自動更新、およびChrome自動更新)の後、QtのQWebEngineからのリモートデバッグ用の開発者ツールが機能しなくなりました。JavaScriptコンソールに次のように表示されます:
Uncaught TypeError: document.registerElement is not a function
at Object.UI.registerCustomElement (Shell.js:formatted:18064)
at Shell.js:formatted:18178
at Shell.js:formatted:18266
devtools_app.js:formatted:2606 Uncaught ReferenceError: SDK is not defined
at devtools_app.js:formatted:2606
問題のコード(Shell.jsから)は次のとおりです。
UI.registerCustomElement = function(localName, typeExtension, prototype) {
return document.registerElement(typeExtension, {
prototype: Object.create(prototype),
extends: localName
});
}
Shell.jsとは何ですか?この問題の原因は何ですか?
Webページは実際にはQt 5.12.3 Webブラウザーで実行されていますが、開発者ツールにはChrome(リモート))を使用しています。
私もAngular 7.xをAngular 8に同時にアップグレードしましたが、これが関連しているとはもう信じていません。
私のChromeは現在バージョン80.0.3987.116(公式ビルド)(64ビット)です。
[〜#〜] update [〜#〜] Chromiumの古いリリースをダウンロードしようとしました。 (これは2019年半ばにさかのぼるので、バージョン77.0.3823.0を試しました。)そして、そこでのデバッグが機能します。
GoogleはChromeからWebComponents V0を削除しましたが、リモートデバッグ用のGUIはそれらを使用しています。したがって、古いChrome=オンボードのデバイスでリモートデバッグを起動しようとすると、デバッガが
Uncaught TypeError: document.registerElement is not a function
私はこれと戦う二つの方法を見つけました