昨天,当我尝试刷新QBO3系统中的某些页面时,我注意到了以下警告:

根本原因是什么?我如何修复它?
发布于 2018-08-30 01:19:57
如果浏览器的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不会将用于估值12345的高速缓存结果与那些形成估值23456 (或任何其他估值)的缓存结果混合。
在某些情况下,需要在有限的持续时间内缓存面板内容。对于摘要页面面板,缓存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>https://stackoverflow.com/questions/52083004
复制相似问题