嵌入JavaScript?或者可能使用了其他技术
Embedding JavaScript? Or maybe some other technology is used?
首先,我想向您展示一段代码。代码是一个简单的(老式)嵌入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嵌入/对象的服务方式和内容,我只尝试对嵌入代码中指定的YouTube URL进行一些简单的GET请求(http://www.youtube.com/v/-pGYHDcQDwA?version=3&hl=da_DK),这给了我大部分的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或其他)。没什么大不了的。
问题
- 这对YouTube的旧嵌入代码来说是如何工作的?对我来说,使用嵌入/对象标签应该嵌入某种指定的对象,但YouTube的嵌入代码似乎允许在嵌入/对象元素中使用不同的内容
- 新的(替代解决方案)会是更好的方法吗?它看起来很灵活,并允许未来轻松维护。但我总是听说iframes是个禁忌
他们使用服务器端脚本进行代理检测,并根据检测到的用户代理提供不同的内容。
我似乎看错了方向。
问题一:
在iPhone/iPad上测试其他嵌入代码的视频网站给了我预期的结果——一片空白。
看来,通过内容协商,设备浏览器能够用在设备上启动YouTube应用程序所需的元素替换对象/嵌入标签。
这意味着我无法创建类似的解决方案,也就是说我必须创建/使用HTML5视频播放器,或者使用带有iframe的替代解决方案(我可以将两者结合起来)。
这使得回答第二个问题变得多余,因为我没有其他选择。
- 如何添加浮动和非浮动,其他
- 与其他库的jQuery.noConflict()
- 播放当前视频时如何停止其他视频?JavaScript
- 剑道UI内联编辑:如何在点击其他按钮时隐藏按钮
- 制作一个不带HTML a标记但在动画播放完毕后指向其他页面的超链接
- 除修剪外的其他功能
- 是什么让一个“;Uncaught RangeError:超过了最大调用堆栈大小“;错误(Chrome,在其他浏览器中显示
- Array.length似乎不起作用;console.log则显示其他情况
- 如何消除代码中的未定义和其他问题
- 如何覆盖锚点元素's href目标,并在我点击转到目标javascript时删除其他错误
- jquery代码在Mozilla中有效,但在其他浏览器上无效
- 为什么不推荐使用“with”?是否有更好或其他方法可以“下降”到对象的命名空间
- 是否可以在不使用 eval() 的情况下以编程方式从字符串或其他技术定义函数
- 我可以使用 JavaScript 或任何其他技术根据用户输入将焦点切换到窗口或选项卡上吗?
- Javascript正则表达式或其他解析技术来提取字符串中最后一组括号的内容
- 嵌入JavaScript?或者可能使用了其他技术
- 通过getElementById或其他技术从iFrame中查找子元素
- Node.js或其他JS服务器技术是否支持请求之间的本机共享内存而不需要序列化?
- 如何隐藏if语句?或者其他可以使用的技术
- 我应该使用什么技术来实现这个web UI特性?(HTML框架或表格或其他)