但是,由于浏览器可以同时在窗口或框架中显示不同的页面,甚至是不同域下的页面。为了保证数据的完整性和信息的安全性,就必须建立起一种强制规则,来保证跨域的数据不会被非法的获取和修改。 多数情况下,只有相同域下的页面才能相互作用。比如,一个位于www.microsoft.com域下的页面,可以自由地通过 JavaScript 读写www.microsoft.com域下的其它页面,但却不能读写 home.microsoft.com 域下的页面,或是www.google.com域下的页面。完全的跨域访问(比如,www.microsoft.com域下的页面访问www.google.com域下的页面),在 JavaScript 开发中是被完全禁止的,没有任何商量的余地。但是,DOM 为 document 对象提供了一个 domain 属性,可以授权“同主域但不同子域”页面间的数据访问,这正好可以应付那些“集团军”式的前台部署。 在不同域间的页面制约包括 引用 window.location 可以设置,但不能读取。其它的 location 属性和方法被禁止访问; document.href 可以设置,但不能读取。其它的 document 属性和方法被禁止访问; 的 src 可以设置,但不能读取; |