4

私は現在IE8/7で問題を抱えています(選択の余地はありません。誰もがうめき声を上げる前にこれらのサポートを追加する必要があります)。YouTubeビデオを含むIFrameが履歴にURLを追加する際に問題を引き起こしているため、実際に戻る前に2〜3回実行する必要があります。現在の解決策は新しいブラウザで機能するようですが、問題が発生している2つではなく、現在の解決策は次のとおりです。

<script type="text/javascript">
$(document).ready(function () {
    $("iframe").each(function () {
        var ifr_source = $(this).attr('src');
        if (ifr_source.indexOf("youtube") != -1) {
            var parent = $(this).parent();
            var ifr = $(this).detach();
            var wmode = "wmode=transparent";
            if (ifr_source.indexOf('?') != -1) {
                var getQString = ifr_source.split('?');
                var oldString = getQString[1];
                var newString = getQString[0];
                $(this).attr('src', newString + '?' + wmode + '&' + oldString);
            }
            else $(this).attr('src', ifr_source + '?' + wmode);
            ifr.appendTo($(parent));
        }
    });
});

4

2 に答える 2

2

iFrameの属性を変更するたびsrcに、iFrameはウィンドウの履歴に新しいエントリを登録します。

これを防ぐ方法があります。使用する代わりに.attr('src'...

$("iframe").each(function () {
    (this.contentWindow || this.documentWindow).location.replace('your new url');
});

お役に立てれば!

于 2012-10-19T14:24:47.350 に答える
1

ここで私自身の質問に答えるだけです...

これをミックスに追加するだけです

                var frame.src = 'javascript:parent.getFrameHTML()'

問題は解決しました!

于 2012-10-19T14:45:43.367 に答える