- 浏览: 1530302 次
- 性别:
- 来自: 厦门
文章分类
- 全部博客 (516)
- Java (49)
- Java/Struts 2.0 (25)
- Java/Spring、Spring MVC (11)
- Java/Quartz (3)
- Java/Lucene (6)
- Java/Hibernate (19)
- Java/openJPA (7)
- Java/DWR (7)
- Java/Security、Spring Security/OAuth2 (6)
- Java/Threading (9)
- Java/XML (22)
- java/design pattern (4)
- Android (2)
- JavaScript (46)
- jquery (3)
- DB/MySQL (23)
- DB/Oracle (16)
- PHP (25)
- CSS (20)
- Linux (38)
- C/C++、DLL、Makefile、VC++ (31)
- 正则 (9)
- Eclipse (4)
- 安全、网络等概念 (25)
- 集群 (7)
- 网页 (5)
- 视频\音频 (1)
- HTML (6)
- 计算机数学/算法 (3)
- Virtualbox (1)
- LDAP (2)
- 数据挖掘 (6)
- 工具破解 (1)
- 其他 (13)
- Mail (1)
- 药材 (3)
- 游戏 (2)
- hadoop (13)
- 压力测试 (3)
- 设计模式 (3)
- java/Swing (2)
- 缓存/Memcache (0)
- 缓存/Redis (1)
- OSGI (2)
- OSGI/Gemini (0)
- 文档写作 (0)
- java/Servlet (3)
- MQ/RabbitMQ (2)
- MQ/RocketMQ (0)
- MQ/Kafka (1)
- maven (0)
- SYS/linux (1)
- cache/redis (1)
- DB/Mongodb (2)
- nginx (1)
- postman (1)
- 操作系统/ubuntu (1)
- golang (1)
- dubbo (1)
- 技术管理岗位 (0)
- mybatis-plus (0)
最新评论
-
pgx89112:
大神,请赐我一份这个示例的项目代码吧,万分感谢,1530259 ...
spring的rabbitmq配置 -
string2020:
不使用增强器 怎么弄?
OpenJPA的增强器 -
孟江波:
学习了,楼主,能否提供一份源代码啊,学习一下,十分感谢!!!4 ...
spring的rabbitmq配置 -
eachgray:
...
spring-data-redis配置事务 -
qljoeli:
学习了,楼主,能否提供一份源代码啊,学习一下,十分感谢!!!1 ...
spring的rabbitmq配置
http://blog.csdn.net/xymyeah/archive/2007/04/22/1575061.aspx
实现不同域(Domain)之间的数据交换
引言
前些天在对公司原有的 web
应用进行改版时遇到一个问题,当时需要从原有的应用中提取出一部分,用一个更为通用的来进行替换,并且仍然保留原有的应用接口。原有的应用属于
news.mycompany.com 域,而新应用将被部署到 upload.mycopany.com。当我试着从新的域向
news.mycompany.com 传递数据时,在前台遇到了浏览器返回的“拒绝访问(Access Denied)” 的错误信息,通过参考在
google 中查到的大量英文资料找到了问题的症结,并通过指定两个域中页面的 docment.domain
属性使问题得到了部分解决。后来一时兴起在 google 中查找与 document.domain
相关的中文资料,但得到的大部分是网络安全方面的文章,很少有文章提及通过指定页面的 document.domain
属性能够实现两个域之间的数据交换,于是决定写下此文,希望能够做到抛砖引玉吧。
关键字: JavaScript, Domain, Access Denied
日期:2003-07-06
问题的提出
在开发 Web 应用时经常会遇到需要在两个帧之间传递数据的情况,这里的帧可以是 frameset 中的 frame 也可以是独立的窗口。常见的情况是一个帧作为应用的主体,另一个帧则提供一些供用户选择的选项,用户选择完毕后,该帧把用户作出的选择发送到服务器并向主 要的帧传递一些信息,这里的信息可能是用户的选择也可能是服务器返回的数据。当两个帧中的内容同属于一个域时实现以来比较简单,但是当它们分属于不同域时 问题就变得复杂而棘手了,因为这里涉及到了数据访问的安全性问题,搞不好就会遇到浏览器返回的“拒绝访问(Access Denied)” 的错误信息。
可能的解决方案
下面我们将通过几个试验来分析一下在分属于不同域的帧之间传递数据的一些方法。
- 利用客户端脚本(如 JavaScript)和窗口句柄在两个帧之间传递数据
- 利用 MSIE 提供的对话框在两个帧之间传递数据
- 利用服务器端的应用,通过 session 来传递数据
方案一
用客户端脚本实现两个帧之间的数据交换应该是最为轻量级的方式之一了,这样做不会增加服务器的负载也不会占用网络带宽,数据交换完全是在客户端完成。下面就让我们先来了解一下用客户端脚本(以 JavaScript 为例)和窗口句柄如何实现一个域内的数据交换。
我们通过一个实例来进行说明:假设需要给用户提供一个新闻的录入界面,用户可以用它录入新闻的原始内容,并且可以在其中嵌入一副图片。为了实现这个功能界面我们设计了两个帧,或者说是两个窗口:
- 主窗口: 新闻内容的主要编辑界面,用户可以在里面录入新闻的标题、作者、新闻主体等内容,还有一个图片框可以预览上传的图片
- 弹出窗口: 处理图片上传的界面,用户可以选择本地图片进行上传,成功后它把服务器上文件的 url 返回给主窗口进行预览
为了简单起见,我们假设两个窗口中的内容都是静态的,主窗口对应的文件为 NewsEdit.html,弹出窗口对应的文件为 ImgUpload.html(而大多数情况下两个窗口的内容都应该是动态生成的)。
其中 NewsEdit.html 位于 news.mycompany.com 的主目录下,其源代码如下所示:
发表评论
-
Angularjs 1.x 中使用 layDate 日期控件
2017-10-18 11:30 1869本文参照Angularjs 中使用 layDate 日期控 ... -
简易向左移动的滚动效果 jquery simple marquee
2017-10-15 14:57 634<!DOCTYPE html> ... -
angualrjs添加动态指令(动态编译指令)
2017-09-26 20:45 571本文参考自后补全的代码:http://blog.csdn. ... -
CKeditor的取值和赋值
2017-07-05 14:51 1702<script type="text ... -
Spring boot 环境下配置CKEditor添加google map
2017-07-05 14:39 1263本文档基于已经搭建好基础ckeditor的环境上。如:ht ... -
javascript中借用别的类的方法
2015-12-23 21:58 478借用别的类的方法 /** * Created by ... -
Javascript的类与子类创建
2015-11-11 20:45 869声明父类与子类的示 ... -
jQuery 对 select 操作
2011-09-30 16:54 952转自:http://blog.sina.com.cn/s/bl ... -
JSON2的使用方法心得
2010-10-08 15:09 1901var myJSONObject = {"bindi ... -
json对象的应用
2010-09-07 10:37 1871JSON对象就像是PHP或Java中map型(数组) ... -
JQuery对html控件操作总结
2010-08-11 09:28 2413转自:http://www.cnblogs.com ... -
将json元素添加到表单select中
2010-08-10 15:06 1302将json元素添加到表单select中。 $.a ... -
js加密解密
2010-02-10 16:04 1183JavaScript Code Obfuscator ... -
设为首页JS,加入收藏夹js,加入收藏夹代码,设为首页代码,火狐和ie兼容
2010-01-25 23:10 3795<!DOCTYPE html PUBLIC " ... -
精通 JS正则表达式
2009-11-23 09:36 1086转自:http://www.iteye.com/topic/4 ... -
jQuery.Autocomplete 中文支持
2009-11-10 09:01 28497插件地址:http://bassistan ... -
强烈推荐:240多个jQuery插件
2009-11-08 21:26 1309概述 jQuery 是继 prototype 之后又一个优秀 ... -
jQuery中this与$(this)的区别
2009-11-04 16:28 2463$("#textbox").hover( ... -
JS获得鼠标位置(兼容多浏览器ie,firefox)
2009-10-31 18:57 3794<!DOCTYPE html PUBLIC " ... -
javascript 计算文字长度
2009-10-15 17:52 1717/** * 把中文字符替换两个星号,可以用来计算中文字符串的 ...
相关推荐
"实现不同域(Domain)之间的数据交换" 在 Web 应用开发中,经常会遇到需要在两个帧之间传递数据的情况,这里的帧可以是 frameset 中的 frame 也可以是独立的窗口。常见的情况是一个帧作为应用的主体,另一个帧则...
标题中的"Flash Flex与JS通信"指的是如何让运行在Adobe Flash Player中的Flex应用与浏览器中的JavaScript代码进行数据交换和功能调用。这种通信机制通常被称为External Interface或Bridge技术,它允许Flex应用与网页...
跨域iframe是一个常见的Web开发技术,它允许网页嵌入来自不同源的iframe,以实现不同域之间的数据交互或页面组合。...通过学习这个实例,开发者可以掌握如何安全有效地实现不同源的页面之间的数据交换和功能协作。
同样,如果你需要在不同系统之间进行数据交换,这个库也能简化数据格式转换的过程。 "node-transform-domain-master"这个压缩包文件名暗示它是项目的主分支,可能包含了项目的源代码、文档、测试用例等资源。为了...
因为浏览器允许从不同源加载JavaScript文件,JSONP利用这一点来实现跨域数据交换。JSONP的核心是创建一个全局函数,服务器返回的JSON数据包裹在这个函数中,使得客户端可以执行这个函数并获取数据。 例如,一个HTML...
最后,"DataTranferInSL"很可能是一个包含Silverlight客户端代码的项目,这部分代码将处理与服务器的通信,以及与其他Silverlight或Flash应用的数据交换。数据传输可能利用JavaScript Bridge(Silverlight与HTML页面...
总结来说,`flex iframe js`是一种结合了Flex的RIA能力和JavaScript的Web页面交互能力的技术,它通过`ExternalInterface`实现了ActionScript与JavaScript之间的数据交换和功能调用,从而丰富了Web应用的交互体验。...
服务器和客户端只需要在握手阶段处理好跨域问题,之后的数据交换则不受同源策略限制。 7. 使用服务端渲染或后端代理 在服务器端生成HTML并返回给客户端,这样整个页面都在同一个源下,避免了跨域问题。此外,也可以...
在Web开发中,跨域(Cross-Origin)是一个常见的问题,特别是在使用JavaScript进行API...正确理解和使用这些技术,可以有效地在不同域之间实现数据交互。在实际项目中,应结合业务需求和安全因素选择合适的跨域策略。
在IT行业中,Ajax(Asynchronous JavaScript and XML)与jQuery库的结合经常被用来实现异步数据交互,提高网页的用户体验。这里的"Ajax + jQuery跨域获取JSON"是一个典型的Web开发技术应用场景,主要用于解决Web应用...
这两种技术都可以用来实现ActionScript和JavaScript间的实时数据交换,但需要在服务器端进行相应的配合。 7. **Flex SP, zClipboard, OsWorkFlow, zClipboard** 这些文件名可能涉及到具体的库或工具。Flex SP可能...
4. document.domain:如果主域相同,但子域不同的情况下,可以设置`document.domain`属性为相同的值,以实现跨子域访问。 5. window.postMessage:这是一种在不同源的窗口之间进行异步通信的方法,适用于如iframe、...
- 能够实现双向的数据交换。 - 兼容性较好。 **缺点**: - 实现起来较为复杂。 - 需要多个页面之间的配合。 ##### 4. 使用Apache反向代理实现跨域 这是一种服务器端的解决方案,通过配置反向代理服务器接收客户端...
Flex与JavaScript交互是Web开发中的一个重要技术,它允许在Adobe Flex应用和HTML页面之间进行数据交换和功能调用。在本示例中,我们将深入探讨如何实现这种交互,并通过具体的步骤来理解其工作原理。 首先,Flex是...
- **实现原理**:两个页面都需要通过JavaScript设置`document.domain`为基础主域,从而实现同源。 - **示例代码** (父窗口:`www.domain.com/a.html`): ```html <iframe id="iframe" src="http://subdomain....
- document.domain:原理是让不同子域之间的页面设置相同的domain,实现跨域。这通常用于相同主域名不同子域名的情况。 - iframe:可以将一个域的页面嵌入到另一个域的页面中,实现跨域。但需要注意,设置iframe...
"域到域数据传输发件人应用"是一个基于JavaScript技术构建的应用程序,它设计用于在不同的网络域之间安全地传输数据。在Web开发中,由于同源策略(Same-Origin Policy)的限制,不同源的网站之间无法直接共享或访问...
在Web开发中,浏览器的同源策略限制了JavaScript对不同域名下的资源进行访问,以防止恶意网站窃取数据。跨域是指一个域下的文档或脚本尝试请求另一个域下的资源。在跨域点单登录场景下,用户在多个子站点之间切换时...