Js跨域问题

2013-03-22
  • 831
  • 0

这两天工作中涉及到了js跨域访问iframe中数据的问题,因此查阅了一些

相关的资料。实际上js跨域问题是程序开发人员最常碰到的问题之一。

所谓js跨域问题,是指在一个域下的页面中通过js访问另一个不同域下的数据对象,一般来说,这里的域可以理解为域名,或者更通俗地认为是不同的两个网站。这种跨域的访问实际也是一种ajax应用。

如果被访问的iframe和请求访问的页面在同一个基础域,js跨域访问是比较容易实现的。比较麻烦的是两个页面分属不同的基础域。

如果是这种情况下,我们可以通过改变script标签的src属性来实现跨域访问。因为对于浏览器来说,script标签的src属性指向的数据资源是一个静态资源,不需要程序员手动去加载这些资源,浏览器可以自动去加载这些资源,因此就不会出现js访问另一个域下页面而导致的跨域问题。因此我们可以通过修改src属性将被访问的数据对象引用进当前页面从而达到绕过js跨域问题的效果。