WKScriptMessageHandler
プロトコルを実装しましたが、userContentController(:didReceiveScriptMessage:)
メソッドを定義しました。WKWebViewからのJavaScriptエラーを取得します
JavaScriptでエラーがあった場合、私は(WKScriptMessage
オブジェクト内)のような、本当に有用ではない何かを得る:私はサファリのWebインスペクタを開いた場合一方
{
col = 0;
file = "";
line = 0;
message = "Script error.";
type = error;
}
を、私は見ることができます戻って私のネイティブコードでそのエラーを取得する方法は
TypeError: FW.Ui.Modal.sho is not a function. (In 'FW.Ui.Modal.sho', 'FW.Ui.Modal.sho' is undefined)
あります:(例えば)で実際のエラー?
EDIT: ちょうど明確にするためには、JavaScriptコードはJavaScript開発者によって書かれている(ネイティブソースコードへのアクセスを持っていないので、彼はXcodeのを経由してアプリをデバッグすることはできません)。彼が書いたコードは、iOSアプリ(エンタープライズアプリストアからダウンロード)にプッシュされます。
アプリストア)。 JSの開発者は正しいエラー(上記の例の構文エラー)を見ることはできませんが、一般的な "スクリプトエラー"は表示されません。私は正しいですか? –
ああ、つまらない。あなたは正しいです、このコードは、iOSクライアントに埋め込まれたスクリプトを評価するためのものです。しかし、同じ 'try catch'の考え方が適用されます - スクリプトを開発するときにそのコードを実装するだけです。 –
コードが小さい場合は動作する可能性があります。しかし、コードが何千行ものコードであれば、私は思っている通りにすべてを入れることができません。また、私は 'try {result.sho();のような構文エラーで' try catch 'が動作するかどうかはわかりません。 catch(エラー){...}; ' –