0

こんにちは、Jquery で動作し、ie を除くすべてのブラウザーで完全に動作するコードが少しあります (また、ie ブラウザー -7、8、9 では動作しないようです)。Jquery コードは次のとおりです。誰でも問題を確認できますか。

$(document).ready(function () {
            var obj = $('object')
     .wrap('<div id="test"></div>')
     .find('embed').attr('src', function (i, s) { return s + '&enablejsapi=1&version=3' }).end()
     .find('param[name=movie]').attr('value', function (i, v) { return v + '&enablejsapi=1&version=3' }).end()
     .detach()
     .appendTo($('#test'));

            $(document).ready(function () {
                $("#emsbinstartbutton").click(function () {
                    //Then assign the src to null, this then stops the video been playing
                    obj.find('embed')[0].pauseVideo();
                    $("body").append($("<div>").css({
                        position: "fixed"
        , width: "640px"
        , height: "425px"
        , "background-color": "#000"
        , opacity: 0.6
        , "z-index": 999
        , top: 0
        , left: 0
                    }).attr("id", "page-cover"));

                    $("#threebytwo").show();
                });
            });

このコードは、ユーザーが [今すぐ購入] ボタンをクリックしたときにウィジェットをポップアップ表示します。

 $("#threebytwo").show();

これは、Firfox chrome と safari で動作しているのを見ることができるコード全体の jsfiddle ですが、ie では動作していません。

http://jsfiddle.net/M46rZ/5/

これを調べたところ、メタ データ タグを 8 に設定するトリックが見つかりましたが、これを試してみましたが、うまくいきませんでした。

クロスブラウザの問題に出くわし続けるので、もう少し読む必要があると思いますが、助けていただければ幸いです!

編集 申し訳ありませんが、実際の問題を明確にしてください。[今すぐ購入] ボタンをクリックすると、ポップアップが表示されます。

編集 2

コメントの1つで指摘されているように、コードの動作を停止するのは次の行です。

obj.find('embed')[0].pauseVideo();

ありがとう

4

1 に答える 1

0

あなたのフィドルでは、ビデオ パラメータに末尾のスペースがあります。

<param name="movie" value="http://www.youtube.com/v/fBZTbCrM2eQ&amp;hl=en_US&amp;fs=1&wmode=opaque ">

あなたのjs操作の後は次のようになります:

<param name="movie" value="http://www.youtube.com/v/fBZTbCrM2eQ&hl=en_US&fs=1&wmode=opaque &enablejsapi=1&version=3">

<object>ではなくを使用しているブラウザで問題が発生するのにこれで十分かどうかはわかりませんが<embed>、削除してみる価値はあります。

フィドルのスペースを削除しようとしましたが、奇妙な理由で編集が有効になりませんでした。

于 2013-02-15T10:28:34.407 に答える