javascript - IE 跨域 Cookie 失效怎么处理?
Jun 06, 2016 pm 08:45 PM
A页面通过JS创建了一iframe调用了B页面
在FIREFOX下B页面的COOKIE在A页面可以读出
但是到了IE 9就不行了,请问怎么解决呢?
回复内容:
A页面通过JS创建了一iframe调用了B页面
在FIREFOX下B页面的COOKIE在A页面可以读出
但是到了IE 9就不行了,请问怎么解决呢?
基于安全性,浏览器是不允许跨域操作的(当然,可以设置为cookie在子域名间共享)。
如果要实现完全意义上的跨域操作(任意两个域名),推荐楼主使用postMessage(如:http://github.com/daepark/postmessage),它借助现代浏览器的window.postMessage, 对于不支持的window.postMessage的浏览器它会使用window location hash polling, 所以浏览器兼容性不错。
举例:
- 周伯通招聘与PHP100的集成便使用postmessage.js库(http://bbs.php100.com/job/),周伯通招聘的页面通过iframe完全集成入php100.com页面,两个域名间通过postmessage来做一些控制页面高度、页面跳转之类的事情。
题主的需求简单说就是在A页面需要一些数据,可是这些数据在别的网站,需要想办法去抓。
如果只是自己用的小工具,不兼容IE就好了。
如果需要考虑兼容性,说明是一个正式的项目,一般遇到这种跨域问题可以找后端同学来帮忙。跨域的安全限制都是针对浏览器端来说的,服务器端是不存在跨域安全限制的。后端有phantomJs之类的headless浏览器和各种爬虫可以去其他网站抓数据,然后做成ajax接口给你用,好happy。

Artikel Panas

Alat panas Tag

Artikel Panas

Tag artikel panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas

Panduan Pemasangan dan Naik Taraf PHP 8.4 untuk Ubuntu dan Debian

Cara Menyediakan Kod Visual Studio (Kod VS) untuk Pembangunan PHP

Bagaimana anda menghuraikan dan memproses HTML/XML dalam PHP?

Program PHP untuk mengira vokal dalam rentetan

Kunci Pengekodan: Membuka Kunci Kuasa Python untuk Pemula

Java Made Simple: Panduan Pemula untuk Kuasa Pengaturcaraan

Cipta Masa Depan: Pengaturcaraan Java untuk Pemula Mutlak

Penyelesaian Masalah dengan Python: Buka Kunci Penyelesaian Berkuasa sebagai Pengekod Pemula
