我想实现这样的功能:使用浏览器依次打开一些网页(每个页面都是不同域的,如google,百度,搜狐等网站主页,且有一定的生存期,时间到了就自动关闭,然后再继续打开下一个网页,只有上一个页面关闭后才能访问下一个页面),所以就自己本地写了个网页,嵌入js,用window.open() 循环打开网页,同时想在打开子窗口的同时,能够分析子窗口的源码,从源码中提取链接存入数组,但是在主窗口的js中使用win = window.open("http://www.baidu.com");调用win.document.links[].href的时候就出现错误,请问应该怎么写才可以实现?

解决方案 »

  1.   

    是用IE浏览器测试的吗?我在chrome下试过,不能用。。可以试下用FireBug
      

  2.   

    依次打开网站吗?
    这样 
     主页面win.open打开子页面
     子页面关闭的时候调用主页面的一个函数 去打开下一个页面,依次类推
      

  3.   

    window.opener.function();
    window.close();
      

  4.   

    ls各位请看清问题。不是说不能打开子窗口,而是打开以后父窗口无法访问子窗口的document对象
      

  5.   

    终于发现问题在哪里了,原来是同源策略禁止js访问非同源的窗口的文档属性,然后google一下发现有人说可以在firefox里可以用下面的语句来伪造域
    document.__defineGetter__("domain", function() {
    return 'www.google.co.uk'});
    alert(document.domain); // returns www.google.co.uk 
    此次确实能伪造域,但是测试了一下,firebug还是报reference to undefined property window的错,估计很有可能ff采用location等额外的对象检测,是否还有其他方法能规避浏览器同源策略?
      

  6.   

    我的ie跟火狐都获取不到win对象都为空,我跟你的想法一样,这个问题头疼