max10041230
2018-12-07 03:17
采纳率: 100%
浏览 673
已采纳

怎么获取iframe通过http请求的页面中的元素值?

获取iframe加载的页面是报了拒绝访问,知道是跨域问题,求教高手怎么解决,

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="utf-8">
    <title>Test ContentWindow</title>
    <script type="text/javascript"> 
        function getImageData() {
            var test = document.getElementById('LayerDMPhotoIframe').contentWindow.document.getElementById('showResults'); 
            var data = test.innerHTML;
        }
    </script>
</head>
<body>
<iframe src="http://ccssc.jh/index.html" id="LayerDMPhotoIframe" width="1000px" height="800px" scrolling="no" frameborder="0" style="zoom:80%;"></iframe>
<button onclick="getImageData()">获取图片数据</button>
</body>
</html>

一个是本地文件,一个是在服务器上的文件,不放在同一域名下面。

  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

3条回答 默认 最新

  • 天际的海浪 2018-12-07 08:15
    已采纳

    如果只是二级域名不同,一级域名相同的跨域可以用html5的"postMessage"方法。比如 a.baidu.com 和 b.baidu.com
    如果一级域名不同的跨域,比如 www.baidu.comwww.google.com 是无法实现 iframe 跨域操作的。只能用服务器代理的ajax方式,实现跨域获取数据

    打赏 评论
  • EvaLilys 2018-12-07 05:26

    http://blog.sina.com.cn/s/blog_63940ce201015w0d.html 我觉得这个写的还是很清楚的,你可以看看。另外,ie6会不会版本太低了

    打赏 评论
  • 漫步街边 2018-12-07 07:03

    两种方式:一如果不是动态加载的图片那么可以直接写绝对路径,第二动态路径的话那么在线上的config中加上跨域访问,再去ajax请求就行了图片说明

    打赏 评论

相关推荐 更多相似问题