我有一个下面的iframe与不同的参数,如时间,查询。我想通过javascript从这个iframe中提取参数,这样我就可以替换所选参数的值。我该怎么做呢?
<iframe src="http://localhost:5601/#/dashboard/New-Dashboard?
embed&_g=(refreshInterval:(display:Off,pause:!f,section:0,value:0)
,time:(from:now-6M,mode:quick,to:now))&_a=(filters:!(),panels:!
((col:1,id:env,row:1,size_x:4,size_y:3,type:visualization),
(col:5,id:env-2,row:1,size_x:4,size_y:3,type:visualization),
(col:9,id:env-3,row:1,size_x:4,size_y:3,type:visualization)),
query:(query_string:(analyze_wildcard:!t,query:'*')),title:'New%20Dashboard')
" height="600" width="800" id="myframe"></iframe>发布于 2015-11-10 18:01:12
我认为这将分两步进行。1)获取您的src字符串,2)解析出参数。
使用var frame_src = $('#myframe').attr('src');
例如,您可以将其设置为参数名称以"?“开头或"&",后跟":“。键值对将以另一个"&“或字符串结尾("$")结束。模式看起来像这样:
var attr_name = "The attribute you're looking for";
var kvpair_pattern = new RegExp("[\?|&]" + attr_name + ":\w+[&|$]");您将使用exec()方法提取数据。
var mydata = kvpair_pattern.exec(frame_src)[0];记住,你会有领先的"?“或"&“,使用此方法。我不知道有什么变通的办法,除了把它去掉之外,因为JavaScript不支持look-behinds。
https://stackoverflow.com/questions/33626331
复制相似问题