第一句能运行你可以理解为历史遗留问题, 早年没有标凖各个浏览器都有自己的一套设计, 某些就被保留下来了, 即使不属於W3C标凖
这里恰好你的浏览器把myFrame这个[name]与它的window对象关联了, 你再给它个id试试, 可能结果就不一样了(不同浏览器略有差异)
第二条不能运行首先是因为你使用的是getElementsByTagName, 而你应该使用的是getElementsByName, 因此documentgetElementsByTagName("myFrame")就没有获取到[name=myFrame]这个DOM对象 其次正如你理解的, 这个是个DOM对象, 而不是它的window对象
你需要
documentgetElementsByName("myFrame")[0]contentWindowdocument
这个contentWindow是W3C标凖中的, 所以请放心使用
var value=openerdocumentname1nam2value;
上面是js代码,就获取的父框架中的一个input元素的值,有两个参数,第一个“name1”是父框架中 form 表单的 name值,第二个“name2”是父框架中 form表单里面的那个input表单的 name值!
可以获取也可以直接设置父框架中 input 的值。
、HTML语法:<iframe name="myFrame" src="childhtml"></iframe>
2、父窗口调用子窗口:myFramewindowfunctionName();
3、子窗品调用父窗口:parentfunctionName();
简单地说,也就是在子窗口中调用的变量或函数前加个parent就行
4、父窗口页面源码:
复制代码 代码如下:
<html>
<head>
<script
type="text/javascript">
function say() {
alert("parenthtml------>I'm at parenthtml");
}
function
callChild()
{
//documentframes("myFrame")f1();
myFramewindowsay();
}
</script>
</head>
<body>
<input type=button value="调用childhtml中的函数say()"
onclick="callChild()">
<iframe name="myFrame"
src="childhtml"></iframe>
</body>
</html>
如果用你的方法想取到值的话,需要进行如下修改在showasp里面有个pic_showasp的iframe:修改:<iframe src="pic_showaspid=<%=request("id")%"</iframe如果这个方法,并不是你要的,还有个方法,就是︶ㄣFans♂▓所说的,用脚本获取在showasp里iframe里的pic_showasp里用top(直接在脚本中用)获取父层的地址n你可以测试:在pic_showasp中写入<scriptalert("父层页面的地址:"+top);//然后你就可以使用字符串拆分获得那个ID/这里顺便给你段代码和使用方法//获取url中""符后的字串function getRequest(){var url=locationsearch;var theRequest=new Object();if(urllastIndexOf("")!=-1){var str = urlsubstr(1);strs = strsplit("&");for(var i=0;i<strslength;i++){theRequest[strs[i]split("=")[0]]=unescape(strs[i]split("=")[1]);}}return theRequest;}使用:var request=getRequest();alert("这是ID参数的值"+request["id"]);/</script希望对你有帮助
以上就是关于关于js iframe获取父子页面中元素和的小迷惑。望大神指点迷津,小弟不胜感激!全部的内容,包括:关于js iframe获取父子页面中元素和的小迷惑。望大神指点迷津,小弟不胜感激!、iframe获取父页面中的一个label值(label值是用户名)、子iframe 怎么访问 父的 iframe方法等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)