2013-06-23 2 views
-1

Я хочу, чтобы изменить размер в IFRAME с Javascript в соответствии с URL,Изменение свойств фреймов с JavaScript в URL

Я имею в виду, что если URL является:

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>

видеть, что значения ширины и высоты в два раза каждый в фрейма

У меня есть пример здесь, но его сейчас работает в значениях ГКЗ фрейма

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

+0

ваша ссылка сломана/404 – user2350838

ответ

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

Смежные вопросы