`
chenlb
  • 浏览: 696513 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

寻找 javascript不能处理跨域的iframe问题的可代替解决方法

    博客分类:
  • HTML
阅读更多

今天看了javascript的书,突然有点想法,javascript处理iframe中网页,一开始,遇到引用iframe问题,如:a.htm里有iframe为subpage.htm,在a.htm引用iframe里的文档(即:subpage.htm)。方法如下:
1.

var targetDoc = window.parent.frames['targetIframe'].document;


2.

var targetDoc = document.getElementById('targetIframe').contentWindow.document;


解决引用问题后,src为其它网页时双拒绝访问,郁闷,baidu下才得知是跨域不用被javascript处理。郁闷,想法不能实现了。

我想要的效果是:自己的网页的一个区可以显示其它网页(这个很重要,显示效果就像真的在浏览器里,被显示的网页我称:subpage),然后javascript处理下subpage,使得实现想要的效果,比如:点subpage里链接时alert()出一些内容,等。

现在我解决不了的就是: 自己的网页的一个区可以显示其它网页(效果与单独访问一样)。

iframe可以解决此问题,但会引来javascript不能处理它。

各位,给点建议。谢谢!

分享到:
评论
10 楼 xstubborn 2007-10-29  
rainchen 写道
xstubborn 写道
我和楼主也遇到了相同的问题..
最近突然玩个WEB-GAME想写个后台挂机的页面..
一动手才知道跨域了...
找了很多资料都没合用的..

Maxthon下有个叫viewpage的插件,专门分析网页的,它的跨域是咋实现的呢?


它那个是用JS写的,相当于在当前页执行JS,或者直观点来说,效果等同于,你打开任意网站,然后在地址栏输入javascript:jscode 一样的意思,所以没有跨不跨域之说。

恩~的确是很象在地址栏输入javascript:jscode,估计用跨域的说法不太正确.
但的确插件种解决法满足了LZ和我的需求...
并没有想用外域的资源来做对外的访问服务...(用代理了...)
只在本机就好了,我只是想在本机做点类似于宏的实现...
9 楼 rainchen 2007-10-29  
xstubborn 写道
我和楼主也遇到了相同的问题..
最近突然玩个WEB-GAME想写个后台挂机的页面..
一动手才知道跨域了...
找了很多资料都没合用的..

Maxthon下有个叫viewpage的插件,专门分析网页的,它的跨域是咋实现的呢?


它那个是用JS写的,相当于在当前页执行JS,或者直观点来说,效果等同于,你打开任意网站,然后在地址栏输入javascript:jscode 一样的意思,所以没有跨不跨域之说。
8 楼 xstubborn 2007-10-29  
en~已经解决了
如果是终端(final)的跨域的话,最低成本的办法就是maxthon的插件..
直接提供获取目标页面的windows或document的API
7 楼 birdjavaeye 2007-10-25  
安装的插件和直接加载的网页对应不同的安全策略,所以插件能够跨域
6 楼 xstubborn 2007-10-25  
我和楼主也遇到了相同的问题..
最近突然玩个WEB-GAME想写个后台挂机的页面..
一动手才知道跨域了...
找了很多资料都没合用的..

Maxthon下有个叫viewpage的插件,专门分析网页的,它的跨域是咋实现的呢?
5 楼 chenlb 2007-09-25  
hax 写道
楼主难道想做fishing?

如果只是自己玩玩,可以改变IE的安全设置允许跨域。


有个师兄叫我帮他做,只是没时间参与到他们项目了,看了javascipt的书,突然想玩下.
4 楼 chenlb 2007-09-25  
昨天想到用jsp代理读取别的网页,思路跟lonelyblue一样,

但还没有去实现

这样也会引来一个问题,别的网页内的链接资源(如:css,img)都变成自己站下的路径了,这样一来servlet或jsp还要正理网页内容.
3 楼 lonelyblue 2007-09-25  
用一个servlet当做代理,在servlet中模拟get或者post请求与另一个域通信。
2 楼 hax 2007-09-25  
楼主难道想做fishing?

如果只是自己玩玩,可以改变IE的安全设置允许跨域。
1 楼 fyting 2007-09-24  
搜索下先,跨域有很多种方式。
比如服务器端的代理,动态javascript生成,有个精华帖,仔细找找。
你要实现的显示其他网页内容,也可以用xmlhttp读取过来再显示。这样就可以由你自己控制subpage里的事件,如果直接采用iframe,就需要通过location.hash的方式在多个iframe之间通信,也很麻烦.

相关推荐

    safari,opera嵌入iframe页面cookie读取问题解决方法

    然而,由于浏览器的安全策略,特别是对于第三方cookie的处理,开发者可能会遇到在特定浏览器如Safari、Opera以及某些使用特定内核的搜狗浏览器中无法读取`iframe`内的cookie的问题。这个问题主要源于浏览器对第三方...

    div+css代替iframe框架并带全屏遮罩加载特效

    然而,随着Web技术的发展,`div+css`布局方式因其灵活性和高效性逐渐成为主流,许多开发者开始寻找用`div+css`替代`iframe`的方法。本文将详细介绍如何使用`div+css`构建框架,并实现全屏遮罩加载特效。 首先,理解...

    javascript跨域刷新实现代码

    在深入探讨JavaScript跨域刷新实现代码之前,先要了解跨域以及为什么跨域会成为问题。跨域是指一个域下的文档或脚本尝试去访问另一个域下的资源,出于安全考虑,浏览器实施了同源策略(Same-origin policy),它限制...

    JavaScript框架(iframe)操作总结

    需要注意的是,操作iframe的内容往往受到同源策略的限制,跨域加载内容可能会遇到权限问题,需要通过CORS(跨源资源共享)策略来解决。 总结来说,JavaScript提供了丰富的API来操作iframe,使得开发者可以在一个主...

    使用AOP改善javascript代码

    处理跨域请求时,经常需要动态添加特定参数来指定请求类型,比如jsonp或iframe。使用AOP的before切面函数,可以在发送ajax请求之前动态添加所需的参数。定义一个代理函数,用于发送数据请求,并在该函数执行前使用...

    面试题资源,涉及vue,js,node,html,css,webpack等等

    8. 跨域解决方案:jsonp跨域、document.domain + iframe 跨域、nodejs中间件代理跨域、后端在头部信息中设置安全域名。 9. 严格模式的限制:变量必须声明后再使用,函数的参数不能有同名属性,否则报错,不能使用...

    frame框架示例

    `iframe`拥有更强大的功能,如可调整大小、可嵌入整个网页等,但也有跨域安全问题需要考虑。 7. **SEO和可访问性**:`frame`框架对搜索引擎优化(SEO)和屏幕阅读器不友好,因为它们无法正确解析框架内的内容。因此...

    2017前端面试题答案.docx

    - **服务器代理**:在服务器端设置代理页面,处理跨域问题。 6. **网络连接过程**: - 解析URL,构建HTTP请求。 - 通过TCP三次握手建立连接。 - 发送HTTP请求和响应数据。 - 浏览器解析并渲染页面内容。 - ...

    getsandbox-courseaccess-mock

    在JavaScript中,沙箱可以用来限制脚本的权限,比如防止跨域请求、访问本地文件系统或者执行某些危险操作。创建沙箱可以使用iframe、Web Workers或者其他隔离技术。 2. **模拟(Mock)**: 在软件开发中,模拟是一种...

Global site tag (gtag.js) - Google Analytics