您好我有一些与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中工作。
我查了一下,看到了一个技巧,你将元数据标记设置为8,但我已经尝试了这个但是它没有用。
我认为我需要阅读更多有关跨浏览器问题的信息,因为我会看到它们,但我们非常感谢您的帮助!
修改 很抱歉澄清实际问题是什么 - 当你点击立即购买按钮时,应该弹出
修改2
正如其中一条评论中所指出的那样,这行停止了代码工作,即:
obj.find('embed')[0].pauseVideo();
由于
答案 0 :(得分:0)
在你的小提琴中,视频参数中有一个尾随空格:
<param name="movie" value="http://www.youtube.com/v/fBZTbCrM2eQ&hl=en_US&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>
来破解浏览器的内容,但是值得尝试删除。
我尝试删除小提琴中的空格,但出于某些奇怪的原因,编辑拒绝生效。