js获取cookies在框架下会失效问题?

lovezfh 2010-10-09 10:16:14
比如index.htm的js代码:

function SetCookie(name,value)
{
var Days = 365;
var exp = new Date();
exp.setTime(exp.getTime() + Days*24*60*60*1000);
document.cookie = name + "="+ escape (value) + ";expires=" + exp.toGMTString();
}

SetCookie("name888",eval(document.getElementById('taobaoid')).value)


比如index2.htm的js代码:

function getCookie(name)
{
var arr = document.cookie.match(new RegExp("(^| )"+name+"=([^;]*)(;|$)"));
if(arr != null) return unescape(arr[2]); return null;

}
alert(getCookie("name888"))


如果这个页面没有被框架,alert(getCookie("name888"))会获取正常的值,但是如果被框架了,则获取为空,请问怎么处理??











...全文
215 18 打赏 收藏 转发到动态 举报
写回复
用AI写文章
18 条回复
切换为时间正序
请发表友善的回复…
发表回复
lovezfh 2010-10-14
  • 打赏
  • 举报
回复
[Quote=引用 17 楼 net_lover 的回复:]
asp里面跨域也是没法取的
[/Quote]

我不是想跨域取得对方网站的cookis的,只是在框架时,框架网站内的cookeis可以正常设置和获取
asp中增加一行代码 <%Response.AddHeader "P3P", "CP=CAO PSA OUR"%>即可正常设置和获取了,但是html静态设置不了(因为是虚拟空间,iis中不能随意设置)
孟子E章 2010-10-14
  • 打赏
  • 举报
回复
asp里面跨域也是没法取的
lovezfh 2010-10-13
  • 打赏
  • 举报
回复
纯静态页面的js设置的cookies就没有办法获取,期待好的方法
lovezfh 2010-10-13
  • 打赏
  • 举报
回复
[Quote=引用 14 楼 net_lover 的回复:]
cookie是不能跨域的,这是最基本的知识。
http://www.cc115.com/
http://www.98139.com/

是2个不同的域,是不能相互访问的。
[/Quote]

也不完全是的,asp就可以解决
http://www.98139.com/13.htm是框架,可以直接获取

框架这个页面http://www.cc115.com/03.asp

但是纯静态就不行的

(测试可以清除掉IE的cookies后进行)




孟子E章 2010-10-13
  • 打赏
  • 举报
回复
cookie是不能跨域的,这是最基本的知识。
http://www.cc115.com/
http://www.98139.com/

是2个不同的域,是不能相互访问的。
lovezfh 2010-10-13
  • 打赏
  • 举报
回复
有没有知道的啊
lovezfh 2010-10-12
  • 打赏
  • 举报
回复
请注意2个网站都是我自己的
http://www.cc115.com/
http://www.98139.com/

2个网站页面代码都可以修改!
只要能够框架也能设置和获取cookie即可
lovezfh 2010-10-12
  • 打赏
  • 举报
回复
我这里给测试网址!

没有框架的网址:
http://www.cc115.com/01.htm
http://www.cc115.com/02.htm
可以正常获取


上面网址框架的网址:
http://www.98139.com/11.htm
http://www.98139.com/12.htm
不能获取
微甜灬呼吸 2010-10-12
  • 打赏
  • 举报
回复
应该没问题啊
孟子E章 2010-10-12
  • 打赏
  • 举报
回复
不知道你怎么测试的
我测试,在ie9,firefox,chrome下都是可以读取的
lovezfh 2010-10-12
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 ieface 的回复:]
试试?
var doc=(parent)?parent.document:document;
doc.cookie = ...
[/Quote]

parent可能是我的另外一个域名,会导致权限不足问题
ieface 2010-10-11
  • 打赏
  • 举报
回复
试试?
var doc=(parent)?parent.document:document;
doc.cookie = ...
lovezfh 2010-10-11
  • 打赏
  • 举报
回复
up
up
up
孟子E章 2010-10-10
  • 打赏
  • 举报
回复
应该可以的,两个文件都是在一个站点下的吧
lovezfh 2010-10-10
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 net_lover 的回复:]
应该可以的,两个文件都是在一个站点下的吧
[/Quote]

不行的,而且2个页面在同原窗口打开都获取不到

87,992

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧