嵌入JavaScript?或者使用了其他技术?
首先,我想给大家看一段代码。代码是将YouTube电影嵌入到您的网站的一种简单(老式)方法:嵌入JavaScript?或者使用了其他技术?,javascript,html,embed,Javascript,Html,Embed,首先,我想给大家看一段代码。代码是将YouTube电影嵌入到您的网站的一种简单(老式)方法: <object width="560" height="315"> <param name="movie" value="http://www.youtube.com/v/-pGYHDcQDwA?version=3&hl=da_DK"></param> <param name="allowFullScreen" value="tr
<object width="560" height="315">
<param name="movie" value="http://www.youtube.com/v/-pGYHDcQDwA?version=3&hl=da_DK"></param>
<param name="allowFullScreen" value="true"></param>
<param name="allowscriptaccess" value="always"></param>
<embed src="http://www.youtube.com/v/-pGYHDcQDwA?version=3&hl=da_DK" type="application/x-shockwave-flash" width="560" height="315" allowscriptaccess="always" allowfullscreen="true"></embed>
</object>
这很简单,也很有效
我当前的解决方案
我也有一个视频播放器,它也允许嵌入。嵌入代码基本相同:
<object width="387" height="316" align="top">
<param name="movie" value="http://example.com/embedplayer.swf"></param>
<param name="salign" value="lt" /></param>
<param name="allowFullScreen" value="true"></param>
<param name="allowscriptaccess" value="always"></param>
<param name="wmode" value="transparent"></param>
<embed src="http://example.com/embedplayer.swf" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" wmode="transparent" salign="lt" width="387" height="316"></embed>
</object>
我的问题
我希望允许观众在iPad或iPhone上观看我的视频。文件格式不是问题,因为VidoE已经编码为几种需要的格式 我想要的是具有与YouTube嵌入代码类似的功能。在iPad/iPhone上查看带有YouTube嵌入代码的页面时,会出现其他内容(我猜是一张带有正确文件格式链接的图像) 在iPad/iPhone上查看我自己的嵌入代码时,这显然不起作用,因为我直接链接到SWF文件 我试过什么? 为了找出YouTube嵌入/对象的服务方式和内容,我只是简单地尝试了对嵌入代码()中指定的YouTube URL执行一些简单的GET请求,这给了我的大部分404请求(因为标题不好)或一个新的HTML源和一个新的Flash对象。
换句话说,我无法手动复制iPad/iPhone的服务内容 可能的/替代解决方案 YouTube还提供了一种新的嵌入方法。
看起来是这样的:
<iframe width="560" height="315" src="http://www.youtube.com/embed/-pGYHDcQDwA" frameborder="0" allowfullscreen></iframe>
这对我来说是相当透明的。在iframe中嵌入另一个页面允许外部页面进行检查,从而允许向客户端提供正确的内容(HTML5、Flash或其他内容)。没什么大不了的
问题
他们使用服务器端脚本进行代理检测,并根据检测到的用户代理提供不同的内容 看来我看错方向了 问题一:
在iPhone/iPad上测试其他嵌入代码的视频网站给了我预期的结果——一个空白区域 似乎通过,设备浏览器能够用启动设备上YouTube应用程序所需的元素替换对象/嵌入标记 这意味着我无法创建类似的解决方案,这意味着我必须创建/使用HTML5视频播放器,或者使用带有iframe的替代解决方案(我可以将两者结合起来)
这使得回答第二个问题变得多余,因为我没有其他选择。+1。YouTube已经在没有Flash的支持设备上提供[HTML5视频](en.wikipedia.org/wiki/HTML5_video)。我有点明白了——我在我的问题中这样说过。我不知道嵌入/对象中的内容如何显示图像、flash或HTML5。它不返回flash和HTML5的代码,而是返回其中一个。对于图像,虽然可以使用javascript实现封面图像并操纵z索引,但通常播放器会提供一种方式,在显示封面图像时将其作为参数传递给flash播放器。例如,许多网站将jwplayer与swfobject库结合使用,提供javascript包装器,以编程方式将参数传递给播放器。我没有这么说-我说的是“为客户端提供正确的内容(HTML5、Flash或其他内容)”,你没有回答我的任何问题。发布我在问题中已经讨论过的内容不能作为答案。