由于工作需要,要在框架里面获取一些值,这里介绍一些方法,都是很简单。
html:
[code]
<iframe src="http://www.cityofsteam.com/cityosweb/knowledge/" width="816" height="620" id="mainiframe" name="tttt"></iframe>
[/code]
js:
[code lang=”js”]
//var v = $(window.frames["tttt"].document).find("#seek").val();//这是方法1
var v = $("#mainiframe").contents().find("#seek").val();//方法2
alert(v);
[/code]
这里要注意,框架页和引用页必须在同一个域名下。不然会出现:
Permission denied to access property ‘document’ 错误,这是浏览器安全问题造成(JavaScript的同源策略问题)。
目前好像没有跨域名调用框架里面的信息,也许我不知道,欢迎留言。
百度的一些资料:
—————————————————————-
父窗口中操作iframe:window.frames[“iframeChild”].document //假如iframe的id为iframeChild
在子窗口中操作父窗口:window.parent.document
那么,用如果想用jquery的方法,我们怎么用jquery来获取iframe呢?下面是一下收集来的方法。
获取页面的对象其实就是dom方法外面加上jquery的选择符:
父窗口中操作iframe:$(window.frames[“iframeChild”].document) //假如iframe的id为iframeChild
在子窗口中操作父窗口:$(window.parent.document)
接下来就可以继续获取iframe内的dom了。
获取iframe内的dom对象有两种方法
1 $(window.frames[“iframeChild”].document).find(“#child”)
2 $(“#child”,window.frames[“iframeChild”].document)
1.在父窗口中操作 选中IFRAME中的所有单选按钮
$(window.frames[“iframeChild”].document).find(“input[@type=’radio’]”).attr(“checked”,”true”);
2.在IFRAME中操作 选中父窗口中的所有单选按钮
$(window.parent.document).find(“input[@type=’radio’]”).attr(“checked”,”true”);
扩展 2012-12-12
在子窗口里面执行一些动作。
点击登录按钮后关闭当前iframe.
打开父窗口的登录框。
用css的display
不可以用show()。
[code lang=”js”]
jQuery(".btn_login").click(function(){
jQuery(window.parent.document).find(".box_box.head,.bigbg_box").hide();
jQuery(window.parent.document).find(".super_login,.super_login_box_s").css("display","block");
});
[/code]