Javascript Mobile safari私有浏览本地存储错误,但没有代码调用它

Javascript Mobile safari私有浏览本地存储错误,但没有代码调用它,javascript,json,local-storage,mobile-safari,aem,Javascript,Json,Local Storage,Mobile Safari,Aem,我正在制作一个通过AdobeCQ5Now AEM托管的页面 呈现的页面是一个.JSP文件,上面还有Java、HTML和Javascript代码 我正在渲染一系列徽标,它们在所有浏览器上都显示得非常好,除了在私人浏览中的mobile safari。这给我带来了控制台中的错误: QuotaExceededError: Dom exception 22: An attempt was made to add something to storage that exceeded the quota

我正在制作一个通过AdobeCQ5Now AEM托管的页面

呈现的页面是一个.JSP文件,上面还有Java、HTML和Javascript代码

我正在渲染一系列徽标,它们在所有浏览器上都显示得非常好,除了在私人浏览中的mobile safari。这给我带来了控制台中的错误:

 QuotaExceededError: Dom exception 22: An attempt was made to add something to storage that exceeded the quota
研究发现,在iOS7中的私人浏览中,本地存储已关闭

但是,我的代码都没有调用本地存储。我想弄清楚本地存储是否是罪魁祸首

我有一些Java代码,用于汇编品牌列表的StringBuffer

 String cssClassPrefix = "svg-icon-";
 String cssClass = "";
 StringBuffer brandJsonObject = new StringBuffer();
 String externalPrefix = "";

 if(currentNode.hasProperty("brands")){

   Property prop = currentNode.getProperty("brands");

   if(prop.isMultiple()){
      Value[] brandArray = prop.getValues();
      for(Value brand : brandArray) {
            if(brandJsonObject.length() != 0){
            brandJsonObject.append(", ");
        }
        cssClass = cssClassPrefix + brand.getString().toLowerCase();
        brandJsonObject.append("{\"name\" : \""+brand.getString().toLowerCase()+"\", \"cssName\" : \""+cssClass+"\"}");
    }
}
然后,我将该字符串解析为JSON,并将其放入JS变量中:

<script id="data" type="application/json"><%=brandJsonObject.toString() %></script>
var brandJSON = JSON.parse($("#data").html());
然后在一个单独的JS函数中,我遍历JSON对象并显示html,我使用元素及其数据属性:

function arrangeBrands () {

      // make all the json data into one long html string and put inside wraper via append()
var brand = rowElement;
$.each(brandJSON, function(i,n){
          brand += '<div class="span2' /* + (bootstrapSpan) */ +' brandItem brandItemStatic"><object data="/etc/designs/searshomeservices/clientlib_base/images/svg-company-logos/'+n["name"]+'.svg" class="'+ n["cssName"]+' many"><img src="/etc/designs/searshomeservices/clientlib_base/images/svg-company-logos/'+n["name"]+'.png" alt="'+ n["name"] +'" /></object></div>';
}); 

我的问题是,这些是否利用了本地存储,从而给我带来了iOS7 mobile safari私有浏览的问题?我没有明确地在任何地方调用localStorage,但我不确定。非常感谢您的建议。

您收到了错误,因为CQ在其ClientLib中使用localstorage,它构建了一个shared.js文件。 在这里,您可以从Adobe找到修补程序:

2014年6月10日NPR-4107在Safari上的私人浏览超出了配额