1

以下に示すように、iframeのソースをhtml文字列に設定して、メモリに保存したhtmlの文字列を実行させます。

window.sHTML = html;
iframe.src = 'javascript:parent.sHTML';

HTML 文字列には、次のような JavaScript コードが含まれています。

window.onerror = function(a,b,c) {
  console.log(a);
  console.log(b);
  console.log(c)
  return true;
}

iframe でエラーが発生すると、実際のエラー情報を提供するのではなく、「スクリプト エラー」、「」、「0」がログに記録されます。

これは、問題の iframe がクロス ドメインである場合に発生する可能性があることを理解しています:不可解な「スクリプト エラー」。Chrome および Firefox の Javascript で報告

ただし、iframe はクロス ドメインではなく、私が動的に作成したものです。window.onerror から適切なエラー情報にアクセスできるように、window.onerror を非クロス ドメイン iframe として扱う方法はありますか?

4

1 に答える 1

0

iframe コンテンツに HTML 文字列を動的に入力する必要がある場合は、document.writeおそらく次のように動作します。

var iframe = document.createElement('iframe');

document.body.appendChild(iframe);

iframe.contentDocument.open();
iframe.contentDocument.write(yourHTMLString);
iframe.contentDocument.close();

参照

于 2012-09-06T13:16:57.327 に答える