Javascript 获取一个div中的所有iframe并调整它们的大小以适应移动应用
简而言之,问题在于:我们有一个新闻网站,它有一个移动版的网站。对于显示文章名称的页面,偶尔会出现iFrame中显示的嵌入视频(来自youtube)。它们的默认大小通常是580px,这在移动浏览器上显然太大太宽了 我想使用javascript搜索内容,并在找到任何iframe时调整其大小。也就是说,我不知道在移动设备上使用JavaScript是否是最好的选择,其次,我不知道如何搜索某个元素类型的所有实例。iFrame中没有名称或IDJavascript 获取一个div中的所有iframe并调整它们的大小以适应移动应用,javascript,html,mobile,Javascript,Html,Mobile,简而言之,问题在于:我们有一个新闻网站,它有一个移动版的网站。对于显示文章名称的页面,偶尔会出现iFrame中显示的嵌入视频(来自youtube)。它们的默认大小通常是580px,这在移动浏览器上显然太大太宽了 我想使用javascript搜索内容,并在找到任何iframe时调整其大小。也就是说,我不知道在移动设备上使用JavaScript是否是最好的选择,其次,我不知道如何搜索某个元素类型的所有实例。iFrame中没有名称或ID 我曾简要考虑过使用PHP来搜索使用jQuery,调整文档上所有i
我曾简要考虑过使用PHP来搜索
使用jQuery,调整文档上所有iframe的大小就像键入一样简单,例如
$('iframe').css('width', '200px');
当然,jQuery在大小方面有一定的开销,但是经过缩小和压缩,它的占用空间并没有那么大,即使对于移动应用程序也是如此。使用jQuery,调整文档上所有iFrame的大小就像键入一样简单,例如
$('iframe').css('width', '200px');
当然,jQuery在大小方面有一定的开销,但经过缩小和压缩,其占用空间并没有那么大,即使对于移动应用程序也是如此。使用jQuery,根据标记选择元素非常容易
jQuery:
$('iframe').width(300);
使用普通DOM也相当容易
var iframes = document.getElementsByTagName('iframe');
for (var i=0; i<iframes.length; i++)
{
iframes[i].style.width = "300px"
}
var-iframes=document.getElementsByTagName('iframe');
对于(var i=0;i,使用jQuery可以很容易地根据标记选择元素
jQuery:
$('iframe').width(300);
使用普通DOM也相当容易
var iframes = document.getElementsByTagName('iframe');
for (var i=0; i<iframes.length; i++)
{
iframes[i].style.width = "300px"
}
var-iframes=document.getElementsByTagName('iframe');
对于(var i=0;i这对我有效:
只需在顶部添加所需的宽度边距:
//Just Change this
var margin = "20";
//////////////////////////////////////////////////////
var iframes = document.getElementsByTagName('iframe');
var w = window.innerWidth || document.body.clientWidth;
var newwidth = w - ( 2 * margin );
for (var i=0; i<iframes.length; i++)
{
var currentheight = iframes[i].height;
var currentwidth = iframes[i].width;
var newheight = (newwidth / currentwidth) * currentheight;
iframes[i].style.width = newwidth+"px";
iframes[i].style.height = newheight+"px";
}
//只需更改这个
var margin=“20”;
//////////////////////////////////////////////////////
var iframes=document.getElementsByTagName('iframe');
var w=window.innerWidth | | document.body.clientWidth;
var newwidth=w-(2*保证金);
对于(var i=0;i这对我有效:
只需在顶部添加所需的宽度边距:
//Just Change this
var margin = "20";
//////////////////////////////////////////////////////
var iframes = document.getElementsByTagName('iframe');
var w = window.innerWidth || document.body.clientWidth;
var newwidth = w - ( 2 * margin );
for (var i=0; i<iframes.length; i++)
{
var currentheight = iframes[i].height;
var currentwidth = iframes[i].width;
var newheight = (newwidth / currentwidth) * currentheight;
iframes[i].style.width = newwidth+"px";
iframes[i].style.height = newheight+"px";
}
//只需更改这个
var margin=“20”;
//////////////////////////////////////////////////////
var iframes=document.getElementsByTagName('iframe');
var w=window.innerWidth | | document.body.clientWidth;
var newwidth=w-(2*保证金);
对于(var i=0;iIs jQuery将成为一个足够通用的移动电话解决方案?我从来没有在移动电话上使用过它,而且我知道最好不要使用它。事实上,即使是JS本身在移动电话上使用有多安全?我想这取决于你如何定义“通用”。jQuery移动支持(包括大多数当前的智能手机),但如果你想要一个完全通用的东西,你最好不要使用任何Javascript。jQuery会成为一个足够通用的手机解决方案吗?我从来没有在手机上使用过它,我知道最好不要使用它。事实上,连JS本身在手机上使用有多安全?取决于你如何定义我想是“通用的”。jQuery mobile支持(包括大多数当前的智能手机),但如果您想要完全通用的东西,最好不要使用任何Javascript。iframes[I].style.width=“300px”缺少一个;我建议添加类似var w=window.innerWidth | | | document.body.clientWidth;var o=900;var isMobile=false;if(w