Javascript iPad Safari iOS-安全错误:访问时出现Dom异常18;文件.cookie“;

Javascript iPad Safari iOS-安全错误:访问时出现Dom异常18;文件.cookie“;,javascript,ios,ipad,safari,domexception,Javascript,Ios,Ipad,Safari,Domexception,在iOS 5.1(iPad)上运行Safari时,我的JavaScript代码引发以下异常: 安全错误:Dom异常18:试图突破 用户代理的安全策略 …每当我调用document.cookie 现在这是一个远程托管的网站,通过适当的URL访问。所有桌面浏览器都运行良好,这只会影响我iPad上的Safari。我试图用谷歌搜索这个错误,但我只是得到了调用本地文件(file://)的参考,我没有这样做,因为这是一个远程网站 有什么想法吗 启用cookie?可能是Cookie被阻止了 协议不匹配?例如,

在iOS 5.1(iPad)上运行Safari时,我的JavaScript代码引发以下异常:

安全错误:Dom异常18:试图突破 用户代理的安全策略

…每当我调用
document.cookie

现在这是一个远程托管的网站,通过适当的URL访问。所有桌面浏览器都运行良好,这只会影响我iPad上的Safari。我试图用谷歌搜索这个错误,但我只是得到了调用本地文件(file://)的参考,我没有这样做,因为这是一个远程网站

有什么想法吗

  • 启用cookie?可能是Cookie被阻止了
  • 协议不匹配?例如,https页面中的Http脚本
  • 大饼干大小
  • cookie值中的非法字符
  • 您正在使用iOS UIWebView吗?它可以是非uri方案协议(aka file://)
  • 你想从iframe获得cookie吗

  • 检查所有这些,有时它像魔术一样奇怪。

    5.1中的一些更改改变了Cookie、LocalStorage和WebDB等内容的存储方式。在移动项目中使用localStorage和WebDBs时,我会遇到同样的错误。当我使用localStorage时,我在xCode中看到的输出显示了两个不同的AppID,我认为这可能与您的体验类似。好吧,这很奇怪。我在iPad上强制安装Safari(双击home按钮,然后按住Safari图标),然后重新打开Safari,没有错误。现在很好,典型#是的,我也很奇怪,我的“旧”应用程序在5.1中运行良好,直到我删除了应用程序并重新安装。从那时起,该应用程序就完蛋了,什么也做不了。我支持Sunday Ironfoot的说法,只是通过PhoneGap调用window.openDatabase()来解决这个问题。但是,如果我强制关闭应用程序并再次运行,它可以正常工作,数据库也可以正常工作。(要么如此,要么我在5.1更改之前仍安装了一个DB,现在又重新使用它。)+1投票重新打开,因为我认为找到这个问题的答案将有助于未来的访问者,因为这个问题可能不像最初出现的那样本地化。@SundayIronfoot的第二条评论是一个很好的解决方案,但不是一个永久的解决方案。