这是一种奇怪的情况,其中报告说由Javascript执行的模式叠加是不可关闭的。但是,这种情况非常非常罕见。我们有一位客户显然是在疯狂地单击该按钮以将其关闭(Fullstory捕获了活动;我的经理找到了这个实例),还有一个市场部门的用户,他无法删除该重叠式广告,也可以。
我个人认为这是a幸和极端情况。但是,我的任务是研究和修复它。
[我已经使用浏览器堆栈检查了标准台式机格式和手机中的24种以上操作系统/浏览器组合。
我通过自己的Chrome机器上的检查器工具发现,-tag周围的链接(用于关闭叠加层)未完全包装图像。我在那里的解决方案是使链接和图像均显示为:inline-block;。我怀疑这是问题所在,但我的一部分想知道如果是这种情况,浏览器用户是否可能难以与“关闭”链接进行交互。
[我还在Javascript中发现了一个错字:在行尾缺少一个分号,在删除/显示覆盖层之前检查是否存在cookie。
<div id="cbk-XXPageDateNameXX" class="cbk-modalOverlay cbk-modal cbk-overlay">
<div class="cbk-overlayPageBlocker"> </div>
<div class="cbk-modalOverlayContent cbk-content cbk-containerObject cbk-gotham cbk-standardText">
<div class="cbk-modalOverlayCloseButton cbk-closeButton cbk-closeLink">
<a href="#" class="cbk-closeLink" title="Close Window"><img src="images/navigation/CandB_CLOSE_ICON_48.svg?$staticlink$" alt="Close" width="48" /></a>
</div>
<div class="cbk-modalOverlayInnerWrapper cbk-innerWrapper cbk-innerWrapper01">
.
.
.
</div>
</div>
</div>
function removePopUp() {
cbk_thisOverlayCookie = checkCookie(cbk_cookieName);
cbk_removePopUp = true;
$('#cbk-XXPageDateNameXX').remove();
if (!cbk_thisOverlayCookie) {
setCookie(cbk_cookieName, 'viewed', 30);
}
}
以上Javascript的以下行是最后缺少分号的那一行:
cbk_thisOverlayCookie = checkCookie(cbk_cookieName);
该代码在所有经过测试的浏览器和操作系统组合上均能正常工作。我在开发过程中对它进行了广泛的测试,并成功完成了多次质量检查。
我有一个用于开发的Sierra Mac,但从未见过此问题。
由于该问题似乎仅发生在2种Apple产品上(一个智能手机,另一种是运行最新的Chrome浏览器的台式机),所以我想知道Mojave(或Mojave的Chrome)是否对Javascript有一个已知的严格解释,需要使用分号。
我对分号的使用非常严格,但是,在这种情况下,可能只是手指滑了一下,就错过了。
我一直无法复制它,并且市场营销部门中报告该问题的女士在清除cookie后已解决此问题。
因为有人要求我解决此问题,所以我几乎处于机智,不愿吸管。
我调整了Javascript,修正了我的错字,但是由于我永远无法使用浏览器堆栈上的OS / Browser的任何组合来复制它,所以我不确定是否已修复它或什么。
所以,您对Mojave中的Javascript严格性和分号了解多少,您有没有类似的经历可以向我提出解释?
感谢您接受冗长的(很详细的)解释!
请关闭此问题。这是一个死胡同。