首先,我想向您展示一段代码。该代码是一种将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="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上观看我的视频 文件格式不是问题,因为视频已被编码为几种所需的格式。
我想要的是具有与YouTube嵌入代码类似的功能。在iPad / iPhone上查看带有YouTube嵌入代码的页面时,会出现其他内容(我的猜测是带有正确文件格式链接的图像)。
在iPad / iPhone上查看我自己的嵌入代码时,这显然不起作用,因为我直接链接到SWF文件。
我尝试了什么?
尝试了解YouTube嵌入/对象的工作方式和内容,我只是尝试对嵌入代码(http://www.youtube.com/v/-pGYHDcQDwA?version=3&hl=da_DK)中指定的YouTube网址做一些简单的GET请求,这让我大部分都是404的(由于标题错误)或带有新Flash对象的新HTML源 换句话说,我无法手动重现为iPad / iPhone提供的服务。
可能/替代解决方案
YouTube还允许使用新的嵌入方法 它看起来像这样:
<iframe width="560" height="315" src="http://www.youtube.com/embed/-pGYHDcQDwA" frameborder="0" allowfullscreen></iframe>
这对我来说非常透明。在iframe中嵌入另一个页面允许外部页面进行检查,允许向客户端提供正确的内容(HTML5,Flash或其他内容)。没什么大不了的。
问题
答案 0 :(得分:1)
他们正在使用服务器端脚本来执行代理检测,并根据他们检测到的用户代理提供不同的内容。
答案 1 :(得分:0)
似乎我看错了方向。
问题一:
在iPhone / iPad上使用嵌入代码测试其他视频网站给了我预期的结果 - 一个空白区域。
似乎通过Content Negotiation,设备浏览器可以将对象/嵌入代码替换为在设备上启动YouTube应用程序所需的元素。
这意味着我无法创建类似的解决方案,这意味着我必须创建/使用HTML5视频播放器或使用iframe的替代解决方案(我可以将两者结合起来)。
这使得回答第二个问题变得多余,因为我没有其他选择。