【Swift】WKWebViewでJavaScriptのconsole.logを使えるようにする 投稿者: Yuh | 2019年1月13日 2件のコメント アプリ内のWKWebViewで実行するJSのデバッグが面倒だったので、xcodeのコンソールにJSのconsole.logの内容が表示されるextensionを作成しました。 プロジェクトに組み込み後、webView.enableConsoleLog()みたいな感じで呼び出すと、以降、JSのconsole.logの内容がXcodeのデバッグウインドウに表示されます。 詳細はコードを確認ください。
dike 2019年9月30日 Yuhさん 一つ質問ですが、このコードってon_clickなどのイベントによるconsole.logも出力できますでしょうか?? html、javascriptを読み込んだ際に実行されるconsole.logはXcodeのログに出力されたのですが、画面表示後にhtmlのボタン押下などによる契機で動作するconsole.logは表示されないです。。。 もし、解決方法ご存知でしたらご教授いただけないでしょうか? 返信 ↓
Yuh 投稿作成者2019年10月7日 すいません、スパムコメントが多くて気づきませんでした。 原理的には、イベントハンドラでも動作するはずなのですが、ブラウザの内部でconsole.log関数を元に戻してしまっているのかもしれません。 根本的な解決にはなりませんが、イベントハンドラの最初に「var console = { log: function(msg){window.webkit.messageHandlers.logging.postMessage(msg) }};」を記載すれば、一応、動作するのではないかと思います。 返信 ↓
Yuhさん
一つ質問ですが、このコードってon_clickなどのイベントによるconsole.logも出力できますでしょうか??
html、javascriptを読み込んだ際に実行されるconsole.logはXcodeのログに出力されたのですが、画面表示後にhtmlのボタン押下などによる契機で動作するconsole.logは表示されないです。。。
もし、解決方法ご存知でしたらご教授いただけないでしょうか?
すいません、スパムコメントが多くて気づきませんでした。
原理的には、イベントハンドラでも動作するはずなのですが、ブラウザの内部でconsole.log関数を元に戻してしまっているのかもしれません。
根本的な解決にはなりませんが、イベントハンドラの最初に「var console = { log: function(msg){window.webkit.messageHandlers.logging.postMessage(msg) }};」を記載すれば、一応、動作するのではないかと思います。