答案 0 :(得分:1)
如果浏览器的sessionStorage
已满,则会发生此错误。您可以通过关闭并重新启动浏览器(完全)或发出以下javascript命令来解决该错误:
sessionStorage.clear();
会话存储使您可以使用JavaScript将数据显式存储在用户的硬盘上。用户可以限制存储量,并可以关闭会话存储。如果保留,正确使用的会话存储可以大大提高用户的体验。
会话存储内置在qbo3.AbstractObject
javascript类中。每次调用invokeHtml
时,结果都保存在缓存中。呈现面板时,qbo3.ObjectBind
行为将尝试从会话存储中读取面板结果,并将显示结果(如果有)。
“评估”信息中心的用户体验是:
Valuation.ashx/Home
)
在Summary
中,我们必须更加注意我们的缓存。如果我们正在缓存“附件”面板,则必须确保不要将“评估附件12345”与“评估23456中的附件”混合使用。这可以通过指定缓存键来完成:
<div id="attachmentList" class="span12" data-behavior="ObjectBind" data-objectbind-options="{{
'class': 'qbo3.AttachmentObject',
'cacheKey': 'AttachmentList-Valuation-{//ValuationID[1]}',
'method': 'Search',
'data': {{ 'Object': 'Valuation', 'ObjectID' : '{//ValuationID[1]}' }}
}}">.</div>
这可确保javascript不会将Valuation 12345的缓存结果与Valuation 23456(或任何其他Valuation)形式的缓存结果混合在一起。
在某些情况下,希望在有限的时间内缓存面板内容。对于“摘要”页面面板,通常合理的做法是将内容缓存10分钟(但不是整天)。 ObjectBind
行为启用maxCacheDuration
设置(以分钟为单位),如下所示:
<div id="attachmentList" class="span12" data-behavior="ObjectBind" data-objectbind-options="{{
'class': 'qbo3.AttachmentObject',
'cacheKey': 'AttachmentList-Valuation-{//ValuationID[1]}',
'maxCacheDuration': 10,
'method': 'Search',
'data': {{ 'Object': 'Valuation', 'ObjectID' : '{//ValuationID[1]}' }}
}}">.</div>