如何在运行中为IE设置自动播放youtube视频?

时间:2010-12-18 09:26:46

标签: jquery flash internet-explorer dom

我需要在点击缩略图时自动播放YouTube视频。 由于IE不支持<EMBED>标记,我需要在<OBJECT>中预设所有需要的值,然后使用我的参数创建一个新对象。 所以我做了这样的事情:

var $newObject = jQuery('<object><param name="play" value="true"/>' + $oldObject.html() + '</object>'); // preparing virtual object on the fly.
$thisObject.html($newObject.html()); //Creating new object

那没有效果。所以我试着在这样的所有现有OBJECT中插入新的:

jQuery('<param name="play" value="true" >').prependTo("object"); 

为此,我在IE中收到错误,上面写着“无效的参数”(有趣的是,在FF和Chrome中,这种方法很有效)。 所以我现在真的没有想法了。 Thanx寻求帮助

萨姆

2 个答案:

答案 0 :(得分:1)

正确的方法是使用Youtube Javascript API和SWFObject。

var so_init = {
  params: { allowScriptAccess: "always" },
  atts: { id: "embedVideoPlayer" }
};

// Do this to embed the player.
swfobject.embedSWF("http://www.youtube.com/apiplayer?enablejsapi=1&version=3&playerapiid=embedVideo",
                   "embedVideo", "480", "385", "9", null, null, so_init.params, so_init.atts);

function player() {
  return document.getElementById(so_init.atts.id);  
}

// Do this to load a video and start it playing.
player().loadVideoById("YOUR-VIDEO-HERE", 0, "large");

<div id="embedVideo">
  You need Flash player 9 or later and JavaScript enabled for this to work.
</div>

The reference is here

答案 1 :(得分:0)

您是否尝试为Flash提供价值?如果是这样,您需要在“flashVars”参数中包装您的名称/值对。像这样:

<param name="flashVars" value="play=true" />