适用于除三星互联网以外的所有浏览器/设备上的逻辑

时间:2018-11-24 15:38:49

标签: javascript android jquery samsung-mobile

我有一段代码可以用在三星Internet以外的所有产品上。 Chrome移动版和chrome开发工具移动仿真器都可以正常工作。我每次尝试都会清除浏览数据。

当单击服务类别按钮时(下面的第一幅图像),它应该打开相关的引导折叠卡(下面的第二幅图像)。

第一张图片:

enter image description here

第二张图片:

enter image description here

这是github仓库https://github.com/dByler1/windle-chimney https://dbyler1.github.io/windle-chimney/

.on('click',function(){})部分起作用。每个变量都记录清楚。它不会进入逻辑块。

mix do compile

1 个答案:

答案 0 :(得分:0)

以下是关于您与Samsung Internet( SI )所遇到问题的根源的一个假设。

首先,问题出在函数调用:mobileShowServiceInfo($(this))中。不在if / else块中。

在该函数中,该行是问题所在:( From OP's GitHub repo

document.getElementById('backBTN').classList.replace('d-none', 'd-md-none')

所以我想 SI 真的不喜欢 .replace()的未分配结果。

这可能应该起作用:

let tempClassList = document.getElementById('backBTN').classList;
document.getElementById('backBTN').classList = tempClassList.replace('d-none', 'd-md-none');

但这虽然简短明了,但解决了该问题:

$('#backBTN').removeClass('d-none').addClass('d-md-none');

因此,我猜测 SI 不仅仅是破坏了代码,而不仅仅是因为没有分配而放弃了.replace()结果……


除了建议:在每个代码行的末尾使用一些分号;。在this SO answer中有更多相关信息。

;)