| 
			 
					阅读:11476回复:11
				 
				iframe 问题
					再请问一下,
 
							若要得到iframe裡的资料(same domain), ex:iframe裡某个link… content.document.getElementById(iframeId).contentWindow.document.getElementsByTagName("a")[o].innerHTML; 这样写对吗?  | 
	|
| 
			 1楼# 
								发布于:2008-04-25 17:31				
			
					这个。。。  俺没有这个权限				 
							 | 
	|
| 
			 2楼# 
								发布于:2008-04-25 17:31				
			
					感谢帮忙…
 
							可是还是有问题…可以麻烦帮我转到"Mozilla 软件开发及相关技术"的页面去吗? 谢谢!  | 
	|
| 
			 3楼# 
								发布于:2008-04-25 17:31				
			vworld:感谢赐教…那就要用addEventListener 了,监听load之类的动作。 不过好像很多情况都会触发load监听,比如image加载。extension开发,我所知不多, 也许不对。 看看下面的东西对你有没有帮助: http://developer.mozilla.org/en/docs/Co ... _page_load http://developer.mozilla.org/en/docs/Co ... _page_load  | 
	|
| 
			 4楼# 
								发布于:2008-04-25 17:31				
			
					感谢赐教…
 
							结果是第3个问题…感谢感谢 请问要怎么判断iframe已经完全load了呢?  | 
	|
| 
			 5楼# 
								发布于:2008-04-25 17:31				
			
					1.   是哪个位置的元素undefined?
 
							2. 这样没头没尾的,也没有办法做测试,你能给个地址过来吗? 3. 用extension抓页面,要确定所需页面的加载动作完成以后,再执行你的代码,否则有可能就是undefined。 4. 如果只是想抓取网页内容,建议用greasemonkey试试。 或者是先用greasemonkey确认能抓取到了,再移植到extension上, 好处就是直接修改profile/gm_scripts下相应的脚本,刷新页面就可以了,不需要重开窗口。  | 
	|
| 
			 6楼# 
								发布于:2008-04-25 17:31				
			
					var iframe = content.document.getElementById(iframeId); 
 
							var iDoc = iframe.contentDocument; try{ alert(iDoc.getElementsByTagName("a")[o].innerHTML); } catch(err){ alert(err.description); } 显示undefined,是指定iframe的位置有错吗? 对iframe的资料抓取实在不懂…麻烦赐教一下,感谢!  | 
	|
| 
			 7楼# 
								发布于:2008-04-25 17:31				
			 | 
	|
| 
			 8楼# 
								发布于:2008-04-25 17:31				
			 | 
	|
					
						
  | 
	
| 
			 9楼# 
								发布于:2008-04-25 17:31				
			 | 
	|
| 
			 10楼# 
								发布于:2008-04-25 17:31				
			
					因为我这是写在extension裡的…
 
							不知这样用对不对…  | 
	|
| 
			 11楼# 
								发布于:2008-04-25 17:31				
			
					不清楚你的写法对不对, 我好像没见过 firefox里有用contentWindow的。  我的方法一般是先获得
 
							iframe元素,然后用获得的元素调出document,最后用文档找链接。 简写是这样的: i = document.getElementById("iframeName"); iDoc = i.contentDocument; iDoc.getElementById("linkName");  | 
	|
							
				
				