js怎样获取iframe,src中的参数
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了js怎样获取iframe,src中的参数相关的知识,希望对你有一定的参考价值。
<iframe id="newid" scrolling="no" width="100%" height="420" frameborder="0" src=“xxx.ccom/id=2&aid=3”></iframe>
以下js代码获取的全部是全部地址:
<script>
var newcss = document.getElementById('newid').src;
document.write(newcss);
</script>
想要的结果是地址中aid的参数值:3
取得目标iframe src所包含的参数
@param iframeId - 目标iframe的id
@return Object 参数名值对,{参数名:参数值,……}
*/
function getIframeParams(iframeId)
var regexpParam = /\\??([\\w\\d%]+)=([\\w\\d%]*)&?/g; //分离参数的正则表达式
var targetEle = document.getElementById(iframeId);
var paramMap = null;
if(!!targetEle)
var url = targetEle.src; //取得iframe的url
var ret;
paramMap = ;//初始化结果集
//开始循环查找url中的参数,并以键值对形式放入结果集
while((ret = regexpParam.exec(url)) != null)
//ret[1]是参数名,ret[2]是参数值
paramMap[ret[1]] = ret[2];
return paramMap; //返回结果集
用法:
假设iframe如下
<html><head>
</head>
<body>
<iframe id="test" src="url?paramA=a¶mB=b"></iframe>
</body>
</html>//获取参数名值对集合
var paramMap = getIframeParams('test');
//paramMap的结构是这样的:'paramA':'a', 'paramB':'b'
alert(paramMap.paramA); //取出paramA的参数值 参考技术A var newcss = document.getElementById('newid').src;
// var srcx = "xxx.ccom/id=2&aid=3";
var reg = /.*aid\=([^\&]+).*/g;
console.log(newcss.replace(reg,"$1"));追问
额,怎么调用呢?
追答1. 触发事件调用,看你怎么用2. 这个给你参考、
<!DOCTYPE HTML>
<html>
<head>
<meta charset=utf-8/>
<title>caller</title>
<script>
window.onload=function()
var newcss = document.getElementById('newid').src;
// var srcx = "xxx.ccom/id=2&aid=3";
var reg = /.*aid\\=([^\\&]+).*/g;
var result = newcss.replace(reg,"$1");
console.log(result);
</script>
<body>
<iframe id="newid" scrolling="no" width="100%" height="420" frameborder="0" src="xxx.ccom/id=2&aid=3"></iframe>
</body>
<html>追问
还没看明白,怎么输出aid的结果呢?
document.write(?);
document.write(newcss.replace(reg,"$1"));
本回答被提问者采纳 参考技术B获得节点:var n = document.getElementById('newid');
弹出节点内容:alert(n.src);
iframe 表单参数获取不到
主页面a.php里面有个form form中包含了iframe框架,
a.php如下
<form method="post" action="search.php" onSubmit="return checkSearchForm()" >
<iframe src="searchform.php" height="30" align="top" scrolling="no" frameborder="0" width="260"></iframe>
<input name="keywords" type="text" id="keyword"/><input type="submit" value="搜索" />
</form>
iframe框架内容如下,有个下拉列表
<select name="type" id="type">
<option value="0">请选择option>
<option value=="1">杂志</option>
<option value=="2">文摘</option>
</select>
问题来了,为什么提交的时候在search.php里面获取不到iframe里面type的值呢,如果直接把select放到a.php里面就能获取到,这个iframe传值要怎么设呢
以上是关于js怎样获取iframe,src中的参数的主要内容,如果未能解决你的问题,请参考以下文章