jquery不工作ie(任何)但在所有其他浏览器中工作

时间:2013-02-15 10:03:04

标签: jquery internet-explorer cross-browser

您好我有一些与Jquery一起使用的代码,并且在所有浏览器中都能完美运行,除了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();

这是一个完整代码的jsfiddle,你可以看到在Firfox chrome和safari中运行但是没有在ie中工作。

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

我查了一下,看到了一个技巧,你将元数据标记设置为8,但我已经尝试了这个但是它没有用。

我认为我需要阅读更多有关跨浏览器问题的信息,因为我会看到它们,但我们非常感谢您的帮助!

修改 很抱歉澄清实际问题是什么 - 当你点击立即购买按钮时,应该弹出

修改2

正如其中一条评论中所指出的那样,这行停止了代码工作,即:

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

由于

1 个答案:

答案 0 :(得分: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>来破解浏览器的内容,但是值得尝试删除。

我尝试删除小提琴中的空格,但出于某些奇怪的原因,编辑拒绝生效。