什么事跨域问题

让窗口或框架在不同域页面之间跳转,是件很寻常的事情,所以跳转操作总是被允许的。

只有试图读写页面内容时,才会受到 domain 限制。例如:window.location 可以用来设置地址间的跳转,

但是不能用它来读取在不同域下的地址。因为,这会使一个页面知道浏览者去过哪些地方,而这会暴露浏览者的隐私。 

在不同域间的页面制约包括 

window.location 可以设置,但不能读取。其它的 location 属性和方法被禁止访问; 
document.href 可以设置,但不能读取。其它的 document 属性和方法被禁止访问; 
<iframe> 的 src 可以设置,但不能读取; 
浏览器为什么要加入跨域限制? 

浏览器的跨域网页限制,是出于安全角度考虑的,为什么会这么说呢?请想像一下,如果没有域之间的安全限制,

一个无赖网页可以“偷窥”别人浏览的页面,然后通过 Ajax 方式,

将“偷窥”后的数据发送到某台不为人知的服务器上,它便实现了无耻的侵略行为。 

再或者,这个无赖网页可以通过 DHTML 来更改别人页面的内容。

比如:编写一个监视脚本,把用户已经打开的所有页面改换背景色,版权文字,

以及放入一些自制的 banner,这样就可以把别人的整个站点变成“自己的”了。

跨域问题是针对JS和ajax的,html本身没有跨域问题,比如a标签、script标签、甚至form标签(可以直接跨域发送数据并接收数据)等;

原文地址:https://www.cnblogs.com/shijiaoyun/p/4825359.html