使用网址中的javascript更改框架属性

时间:2013-06-23 03:05:16

标签: javascript jquery html

我想根据网址

使用javascript更改iframe的大小

我的意思是如果网址是:

mywebpage.com/example.html?width=800&height=450

iframe是

<iframe width="800" height="450" scrolling="no" frameborder="0" allowtransparency="true" marginwidth="0" marginheight="0" src="http://mips.tv/embedplayer/test121/1/800/450"></iframe>

请参阅iframe

中的宽度和高度值各两次

我在这里有一个例子,但它现在使用iframe的

http://redzeronline.ucoz.com/xd.html?width=800&height=450

1 个答案:

答案 0 :(得分:0)

保留'/'字符用于查找文件夹。如果你使用查询会更好。

正则表达式对查询很有用。

//where frame is the iframe you showed above:
var query = JSON.parse(('{'+(frame.source.substr(1).replace(new RegExp("([^=]+)=([^&]+)&?",'g'),function(){return '"'+arguments[1]+'":"'+arguments[2]+'",';}))+'}').replace(/,\}/,"}"));

无论如何,我猜你也可以使用正则表达式来表示你想要的格式。我只是强烈敦促您使用查询字符串。

var width = -1;
var height = -1;
...
//frame is the iframe that you show.
//You should consider adding an id attribute to that so that you can identify it later.
//It's good coding practice.
var results = frame.match(/([0-9]+)\/([0-9]+)$/);
if(results.length == 3)
{
   width=parseInt(results[1]);
   height=parseInt(results[2]);
}
else
{
   //something went wrong...
}

如果您想更改边框尺寸,只需拨打replace()而不是match()。确保按EcmaScript standards

中所述传递函数

要详细了解JavaScript中的正则表达式,请参阅this webpage