我想做一个批量下载相册的程序,本来觉得太简单,用网页都能实现,所以就决定使用网页做。我的思路是,根据粘贴进来的相册地址,在iframe中打开其网页,然后用js读取iframe中的内容,并根据已得知的dom特征读取相册中图片地址。
在iframe中加载相册地址成功了,但是到读取其内容时就会出现错误“拒绝访问”。搜索了一下,了解到这是跨域问题,但是没有找到答案难道iframe不可能跨域吗?

解决方案 »

  1.   

    跨域、读取iframe 没办法的。
    可以考虑直接读取网页数据、然后用正则提取标签
      

  2.   

    <iframe application="yes" ...
      

  3.   

    刚才试过了,加上application="yes"也不管用
      

  4.   

    假设你的域名是www.codesky.net<iframe src=http://www.codesky.net/gethtml.php></iframe>
    gethtml.php实现功能:通过服务器端去读取目标页面代码,然后显示出来,这样你的JS就可以操作iframe里的内容了
      

  5.   

    解决js跨域
    1,如果是主页面aaa.baidu.com和iframe为bb.baidu.com的话,只需添加在主页面和iframe的页面都添加。
    <script language="javascript">
    document.domain = "baidu.com";
    </script>
    2,如果是主页面aaa.baidu.com和irame为bb.kaixin.com的话,
      

  6.   

    直接在后台(asp.net,PHP,java,...)远程抓取页面HTML,返回分析,然后在一样的请求图片下载下来不就可以了。