百度统计代码可以解决浏览器兼容问题?

作者:J.sky · 发表于:
2023-06-18T09:04:17.000000Z
· 更新于:
2023-08-13T22:54:57.623617Z
· Tag: JavaScript BUG

之前新主题有个主题切换的功能,使用了下拉菜单,但是这个下拉菜单在webkit下有兼容问题,下拉菜单弹出后不能收回,但是最后这个兼容问题却奇怪的被百度统计代码给解决了!

问题现场

下拉菜单代码,引自菜鸟教程:

<style>
/* 下拉按钮样式 */
.dropbtn {
    background-color: #4CAF50;
    color: white;
    padding: 16px;
    font-size: 16px;
    border: none;
    cursor: pointer;
}

/* 容器 <div> - 需要定位下拉内容 */
.dropdown {
    position: relative;
    display: inline-block;
}

/* 下拉内容 (默认隐藏) */
.dropdown-content {
    display: none;
    position: absolute;
    background-color: #f9f9f9;
    min-width: 160px;
    box-shadow: 0px 8px 16px 0px rgba(0,0,0,0.2);
}

/* 下拉菜单的链接 */
.dropdown-content a {
    color: black;
    padding: 12px 16px;
    text-decoration: none;
    display: block;
}

/* 鼠标移上去后修改下拉菜单链接颜色 */
.dropdown-content a:hover {background-color: #f1f1f1}

/* 在鼠标移上去后显示下拉菜单 */
.dropdown:hover .dropdown-content {
    display: block;
}

/* 当下拉内容显示后修改下拉按钮的背景颜色 */
.dropdown:hover .dropbtn {
    background-color: #3e8e41;
}
</style>

<div class="dropdown">
<button class="dropbtn">下拉菜单</button>
<div class="dropdown-content">
    <a href="#">菜鸟教程 1</a>
    <a href="#">菜鸟教程 2</a>
    <a href="#">菜鸟教程 3</a>
</div>
</div>

一段很普通的下拉菜单代码,保存HTML,本地使用一些服务器插件(Live Server 等)预览,使用iPhone Safari 打开,会发现下拉菜单展开后,无法收回,这个就是一个兼容问题,也是我想要解决掉的问题。

后来多方尝试搜索,可以使用JavaScript制作一个按钮弹出菜单来替换,但是不满意,然后我就发现菜鸟教程的页面上的下拉菜单在iPhone Safari上没有问题,我把他的页面保存本地,预览,没有问题,我自己复制他的代码的HTML就有问题,只好用排除法来发现问题的根源,直到我删来删去的,删到了菜鸟教程页面上的百度统计代码:

<script src="https://hm.baidu.com/hm.js?3eec0b7da6548cf07db3bc477ea905ee"></script>

删除后下拉菜单就会出现无法收回问题,恢复百度统计代码,兼容性问题就解决了?!神奇啊!百度统计竟然帮我解决了一个浏览器的兼容性问题!太神奇了。

解决问题

后来,我就在页面上添加了自己的百度统计代码,至此,这个下拉菜单弹出无法收回的兼容问题就解决掉了!感谢百度统计,百度统计真是为民服务为民解忧!

参考:

菜鸟教程 CSS 下拉菜单