none
[未解决问题]IE8 document.domain 问题,如果域名短的话 会出错, 比如设置 document.domain='x.cn' RRS feed

  • 问题

  • 短域名问题

    比如说:我的域名是 www.h.cn 我现在建了个二级域名 blog.h.cn  现在我要 blog.h.cn域的一个页面和 www.h.cn域内的一个页面通信, 就需要设置 document.domain = 'h.cn'; 但在IE8会报“无效参数错误”,IE6,7,ff都没有问题 。

    如果是.com的域名则不会有问题 ,比如在blog.h.com内的页面有document.domain = 'h.com' 则不会报错~
    • 已移动 Sheng Jiang 蒋晟 2009年7月6日 16:06 客户端浏览器功能问题 (发件人:ASP.NET 与 AJAX)
    2009年7月6日 2:50

答案

  • 你好 看到你提到过很多次这个问题了
    其实我自己也不懂 不过刚才帮你搜索了下

    cz.nl is considered a top level domain. IE prevents cookies from being set in the TLD with very few exceptions. Unfortunately, this is the current design which is based heavily on security considerations.

    这是微软IE Team回复
    最后一句是说 IE处于安全的考虑,所以目前是这样设计的

    不过有的说在正式版本中这个问题好像解决了 你可以尝试下

    还有就是你是在本地测试的还是实际网站上测试的?
    在本地测试的话 就我个人而言这样做应该是不行的 因为比如通过localhost就可以设置我想要的域名下的网站的cookie的话 这样肯定是不安全的撒
    Wenn ich dich hab’,gibt es nichts, was unerträglich ist.坚持不懈!http://hi.baidu.com/1987raymond
    2009年7月6日 5:10
    版主
  • 如果是由于浏览器造成的话建议使用其它方法实现你的功能,因为我们并不能要求客户使用什么样的浏览器
    知识改变命运,奋斗成就人生!
    2009年7月6日 5:29
    版主
  • 你好,能否考虑这样做呢?
    在 home 站点中加入一个页面,这个使用页面缓存或缓存API来显示最新的留言,home 及 blog 在需要使用留言的地方都引入这个页面,也就是说利用缓存的机制来实现。如果需要较高的及时性,可以在这个页面中使用计时器来检测是否有最新的内容,如果有更新或刷新页面

    知识改变命运,奋斗成就人生!
    2009年7月6日 6:19
    版主

全部回复

  • 你好 看到你提到过很多次这个问题了
    其实我自己也不懂 不过刚才帮你搜索了下

    cz.nl is considered a top level domain. IE prevents cookies from being set in the TLD with very few exceptions. Unfortunately, this is the current design which is based heavily on security considerations.

    这是微软IE Team回复
    最后一句是说 IE处于安全的考虑,所以目前是这样设计的

    不过有的说在正式版本中这个问题好像解决了 你可以尝试下

    还有就是你是在本地测试的还是实际网站上测试的?
    在本地测试的话 就我个人而言这样做应该是不行的 因为比如通过localhost就可以设置我想要的域名下的网站的cookie的话 这样肯定是不安全的撒
    Wenn ich dich hab’,gibt es nichts, was unerträglich ist.坚持不懈!http://hi.baidu.com/1987raymond
    2009年7月6日 5:10
    版主
  • 如果是由于浏览器造成的话建议使用其它方法实现你的功能,因为我们并不能要求客户使用什么样的浏览器
    知识改变命运,奋斗成就人生!
    2009年7月6日 5:29
    版主
  • 非常感谢您的回复~
    我是在主站上测试的,而且现在就在用,目前只有IE8会有这样的问题

    也在考虑其他途径解决问题,但就目前对我们而言设置 domain是最理想的~

    再次感谢!!!


    2009年7月6日 5:38
  • 感谢 “ X.X.Y 版主的回复,就目前情况看,确实是浏览器造成的, 但现在还不清楚是不是IE8的BUG,如果确是Bug, 而且MS不会修复的话,我们会试着找到修复他的方法,两条路都不通,我们再考虑其他途径,因为就目前来看设置 domain是比较理想的,或者您有更好的方法欢迎指点。。。


    2009年7月6日 5:44
  • 你好,你能否把你的大概需要描述一下呢,这们大家也有一个明确的讨论话题
    知识改变命运,奋斗成就人生!
    2009年7月6日 5:52
    版主
  • 好的非常感谢
    比如: home: www.h.cn
              blog: blog.h.cn

    home 内有一个页面,刷新后可以把“最新留言条数”写到COOKIE, 这里COOKIE域为 h.cn
    blog 页面上方有一块区域是显示新留言条数的地方

    blog 留言更新
    目前方法: 每次打开blog页面都去判断留言COOKIE,如果过期则请求home相应页刷新(即写COOKIE),然后取值并显示。

    问题: 不管用 IFRAME, script, ajax,都需要设置domain(建立信任),在IE8下设置domain因为域名问题会报错。


    这就是目前遇到的问题。。。




    2009年7月6日 6:04
  • 你好,能否考虑这样做呢?
    在 home 站点中加入一个页面,这个使用页面缓存或缓存API来显示最新的留言,home 及 blog 在需要使用留言的地方都引入这个页面,也就是说利用缓存的机制来实现。如果需要较高的及时性,可以在这个页面中使用计时器来检测是否有最新的内容,如果有更新或刷新页面

    知识改变命运,奋斗成就人生!
    2009年7月6日 6:19
    版主
  • 非常感谢您的建议,也是一个好方法啊

    因为我们的页面访问量非常高,现在是能节点是一点

    还需要用到主页面的一个留言系统,所以还是要交互的,

    最好能设置 domain就完美啦~。。。

    2009年7月6日 6:32