4

投稿する前に、タイトルに関連する投稿を読みました。問題の解決策があると確信していますが、私は拡張機能、JavaScript、および JQuery を使用するのが苦手で、わかりません...

拒否の原因となっているコードは次のとおりです。

innerframe = $("<iframe/>").css({
    top: WIDGET_TITLE_HEIGHT + "px",
    left: "0px",
    width: "100%",
    height: "1000px",
    border: "none",
    align: "center",
    display: "block"})
.appendTo(innerdiv)
.load(function() {
    onStart()
})
.attr({
    frameBorder: 0,
    //scrolling:0,
    src: 'javascript:(function(){document.open();document.domain="' + document.domain + '";document.write(\' <!DOCTYPE html>' + '\');document.close();})();'
})[0];

src: 'javascript....' という行が問題ですが、解決策がわかりません。

私が読んだ投稿は、コードが Chrome の CSP に違反していることを明らかにしており、メッセージ パッシング、サンドボックスなどについての言及を見てきました。

誰かが解決策を提供し、何が起こっているのかを理解するのを手伝ってくれることを願っています.

前もって感謝します!

4

1 に答える 1

1

あなたのスクリプトは、同じドメインからのページでのみスクリプトを実行できるという、同じオリジン ポリシーに違反している可能性があります。具体的には、プロトコルとホストが同じでなければなりません。

あなたの行document.write(\' <!DOCTYPE html>' + '\');はおそらく犯人です。

于 2013-09-08T00:28:54.507 に答える