首页 >> Web 开发技术交流
iframe 问题 阅读:10372回复:11
再请问一下,
若要得到iframe裡的资料(same domain), ex:iframe裡某个link… content.document.getElementById(iframeId).contentWindow.document.getElementsByTagName("a")[o].innerHTML; 这样写对吗? |
不清楚你的写法对不对, 我好像没见过 firefox里有用contentWindow的。 我的方法一般是先获得
iframe元素,然后用获得的元素调出document,最后用文档找链接。 简写是这样的: i = document.getElementById("iframeName"); iDoc = i.contentDocument; iDoc.getElementById("linkName"); |
|
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的资料抓取实在不懂…麻烦赐教一下,感谢! |
1. 是哪个位置的元素undefined?
2. 这样没头没尾的,也没有办法做测试,你能给个地址过来吗? 3. 用extension抓页面,要确定所需页面的加载动作完成以后,再执行你的代码,否则有可能就是undefined。 4. 如果只是想抓取网页内容,建议用greasemonkey试试。 或者是先用greasemonkey确认能抓取到了,再移植到extension上, 好处就是直接修改profile/gm_scripts下相应的脚本,刷新页面就可以了,不需要重开窗口。 |
vworld:感谢赐教…那就要用addEventListener 了,监听load之类的动作。 不过好像很多情况都会触发load监听,比如image加载。extension开发,我所知不多, 也许不对。 看看下面的东西对你有没有帮助: http://developer.mozilla.org/en/docs/Co ... _page_load http://developer.mozilla.org/en/docs/Co ... _page_load |