使用javascript检索嵌入视频的宽度
Retrieve width of embedded video using javascript
我有一个简单的页面,里面有一个嵌入式视频。下面是一个示例。我想检索嵌入视频的iframe的宽度,该宽度可能会有所不同(例如,如果视频来自youtube或vimeo)。然后我可以在它旁边放一个div,并带有一些文本,并相应地调整后者的宽度
<html>
<head>
</head>
<body onLoad = "resizeElements()">
<iframe width="420" height="315" src="http://www.youtube.com/embed/a34QTcpnKww" frameborder="0" allowfullscreen>
</iframe>
</body>
<script language="JavaScript" type="text/javascript">
function resizeElements()
{
var iframeVideos = document.getElementsByTagName("iframe");
for ( var i = 0; i < iframeVideos.length; i++)
{
video = iframeVideos[i];
alert ( ">" + video.style.width+ "<" );
video.style.width = "112px";
video.style.height = "63px";
alert ( ">" + video.style.width+ "<" );
}
}
</script>
</html>
页面已加载,第一个警报(应具有iframe的宽度)仅显示"><",中间没有视频的宽度。
我确定这不是因为视频对象为空。以下行会按预期调整其大小。调整大小后,同一警报会显示正确的宽度。
我能做些什么来立即提供宽度?
我不是 jQuery 等库的忠实粉丝,但很乐意考虑,以防其中一个提供直接的解决方案,不会让它比仅仅解析标签内的字符串更复杂。以防万一页面将来需要一些维护...
谢谢!
我认为您只需要设置 style 属性以匹配您的宽度和高度属性:
<iframe style="width:420;height:315" width="420" height="315" src="http://www.youtube.com/embed/a34QTcpnKww" frameborder="0" allowfullscreen>
</iframe>
因为在您的函数中,您正在使用 style 属性。
DOM: element.offset*
offsetWidth 和 offsetHeight 应该会有所帮助,即使在 IE6 和所有现代浏览器中也支持。
alert ( ">" + video.offsetWidth + "<" );
请看一下jsFiddle Demo。
jQuery width()/height()
如果您准备好使用 jQuery,请查看 .width()
和 height()
。我也不是jQuery的"粉丝",但是如果您厌倦了解决浏览器的不一致问题,需要高级事件处理支持(而不是当前的内联事件处理程序)和出色的DOM助手,那么它是一个了不起的工具。
属性
另一种方法是简单地检索 HTML 属性的内容(正在width="420"
)。您可以使用.getAttribute(width)
或.width
(访问 DOM 属性)来执行此操作。
alert ( ">" + video.width + "<" );
alert ( ">" + video.getAttribute(width) + "<" );
相关文章:
- 播放当前视频时如何停止其他视频?JavaScript
- Javascript-在视频中跟踪鼠标位置
- 如何在javascript中解析Dailymotion视频Url
- 使用javascript将视频从我的android应用程序上传到youtube
- 在javascript中添加和显示对象的随机数组中的视频
- javascript从任何嵌入式flash视频中发现.flvurl
- 使用HTML5播放器时使用Javascript更改Youtube视频
- Javascript的视频音量问题
- 使用情感API视频(Javascript或Ruby)
- html视频javascript播放方法在移动Safari中不起作用
- 播放暂停 HTML5 视频 JavaScript
- Facebook图形API只返回发布的照片而不返回视频(Javascript)
- 无法收听twilio视频javascript端点
- HTML5视频javascript控件-重启视频
- YouTube视频JavaScript停止工作,如果放入dom ready函数
- 设置Apple TV视频JavaScript
- 嵌入视频javascript代码从数据库在PHP
- 如何修复HTML5视频Javascript跟踪代码不正常工作
- html5视频-Javascript-内部有暂停的循环
- 无法继续使用Twilio可编程视频Javascript