取得目標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的參數值