之前新主题有个主题切换的功能,使用了下拉菜单,但是这个下拉菜单在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>
删除后下拉菜单就会出现无法收回问题,恢复百度统计代码,兼容性问题就解决了?!神奇啊!百度统计竟然帮我解决了一个浏览器的兼容性问题!太神奇了。
后来,我就在页面上添加了自己的百度统计代码,至此,这个下拉菜单弹出无法收回的兼容问题就解决掉了!感谢百度统计,百度统计真是为民服务为民解忧!
参考: