2017-11-20 7 views
1

WebViewに情報を表示するMacアプリケーションがあります。かなり古いアプリとObjective-Cで、私は急速に忘れています。高いSierra WebViewブロックアンカータグナビゲーション

WebViewには、表示されたページ内のリンクをクリックするか、WebViewにJavascriptを送信するUIのタブをクリックすることによって、ページ内でのナビゲーションが可能なアンカータグが含まれています。 High Sierraでは、エラーは表示されませんが、これは動作しません。

私はisKeyExcludedFromWebScript:を実装する必要があるようですが、その試みは失敗しました。

WebViewをサブクラス化する必要はありますか? WebViewを含むView ControllerにisKeyExcludedFromWebScript:isSelectorExcludedFromWebScript:を入れても機能しません。

アドバイスや例があれば、私は最も感謝しています。 私はWKWebViewを使用するようにアプリをアップグレードすることになるのではないかと心配していますが、私はそれをやる時間が得られるまですばやく回避することを望んでいました。

答えて

1

解決策を見つけたのでここに自分の質問に答えてください。

WebViewにHTML文字列をロードしていて、内部ナビゲーションリンクを使用しようとしたときに、プレフィックスとして使用するベースURLがなく、アンカーナビゲーションが機能しなかったという問題がありました。

以前はHigh Sierraより前に動作していたので、WebViewの動作について新しいことが必要です。

解決策は、HTML文字列を一時ファイルに保存して、文字列を直接読み込むのではなく、ファイルのURLをWebViewに読み込ませることでした。

これは、WebViewとWKWebViewの両方に適用されます。