1

(void) webViewDidFinishLoad: (UIWebView*)webView

iframe を処理するために JavaScript を挿入します。例えば

    stringByEvaluatingJavaScriptFromString: 
@"try {
    var document = window.document.getElementsByTagName('iframe')[0].contentWindow.document.getElementsByTagName('frame'); 
    } catch (e) {
    alert (e.message);
    }"

iframes ドキュメントが定義されていないことがわかります。実際、iframe の contentWindow のすべてのプロパティを印刷しようとしましたが、完全に空です。

フレームの読み込みごとに webViewDidFinishLoad が数回呼び出される可能性があることはわかっています。しかし、iframe ドキュメントを取得できません。すべての iframe の準備ができたら、少なくとも 1 回は必要だと思いました。

iframe ドキュメントを取得して uiwebview で dom を処理する方法を教えてください。

ありがとう

4

1 に答える 1

0

クロス ドメイン iframe 内のコードにアクセスするには、postMessage Api を使用する必要があります。これを実装する方法の詳細については、こちらを参照してください。

于 2016-02-28T11:34:25.190 に答える