每次从另一个域请求脚本时,Internet Explorer都会生成新的会话


Internet Explorer generating new session every time script is requested from another domain

我有一个网站,正在从另一个域加载javascript文件。这个javascript文件实际上是一个使用会话的php文件,在除ie以外的浏览器中,会话数据按预期工作-在第一次请求时设置会话数据,然后该会话数据可用。

然而,在IE中,会话不断被赋予一个新的会话id,数据不被保留。我已经四处寻找解决方案,并尝试在远程站点上设置以下标题,但没有运气:

header('P3P: CP="ALL ADM DEV PSAi COM OUR OTRo STP IND ONL"'); 

这是基于这个SO问题中的信息,为什么IE7拒绝来自帧中的页面的会话cookie ?-但事实上,我不确定问题是同一个。

我打赌同样的事情也发生在Safari…出于安全原因,ie浏览器不会这样做,虽然该头文件曾经工作过,但我相当肯定它不再工作了。

你的意思是你想要会话在另一个域上持久化?

您可以尝试在本地站点上使用php包装器,该包装器在其他远程页面上调用file_get_contents(),然后使用header('Content-type: text/javascript');

将文件输出为js