Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

聊一聊兼容移动端的那些的事情 #38

Closed
bosens-China opened this issue Nov 21, 2019 · 0 comments
Closed

聊一聊兼容移动端的那些的事情 #38

bosens-China opened this issue Nov 21, 2019 · 0 comments
Labels
其他 未找到分类,暂定的文章

Comments

@bosens-China
Copy link
Owner

最近在做移动端的项目,踩了许多坑,下面就是一些总结

2019 年 11 月 21 日

px 适配

关于适配网上有很多文章总结了,这里就不做概括了,简单来说如果为了兼容低版本一些的可以用 rem 布局,如果对兼容没有太多要求可以尝试一下vw、vh适配。

1px

出现的问题跟设备像素比有关,设计稿一般为 750,那么 375 的屏幕 1px 就是 0.5px,安卓对 0.5px 的写法并不支持,解决的方法下面这篇文章概括很全面
移动端 1px 解决方案

click 点击延迟事件

一般而言这个问题只有比较老的浏览器才会出现,很不幸我就遇到了,出现的原因跟事件的执行有关,当你点击的时候浏览器需要判断后面会不会继续跟一个点击,如果是就执行双击缩放的功能,下面说一下常见的解决方法

浮层滚动

浮层弹出对话框之类的都是很常见的需求,我们一般而言会用fixed来实现,不过在移动端上依然是可以滚动的,下面就分享一种方法

var bodyEl = document.body;
var top = 0;

function stopBodyScroll(isFixed) {
  if (isFixed) {
    top = window.scrollY;
    bodyEl.style.position = "fixed";
    bodyEl.style.top = -top + "px";
  } else {
    bodyEl.style.position = "";
    bodyEl.style.top = "";
    // 回到原先的top
    window.scrollTo(0, top);
  }
}

其他文章推荐

ios 底部安全区

出现原因是因为 ios 取消了物理按键改用虚拟按钮

安卓 fixed 定位输入框输入出现错位

不要脸推荐一下自己之前写的文章,这个是安卓上才有,ios 不存在,建议的话就是不要使用fixed定位改用absolute;

position:fixed/absolute 随屏幕滚动

可以在fixed/absolute样式内添加

overflow-y: auto;
-webkit-transform: translateZ(0);

ios 点击失效

简单一些可以直接在点击的元素上设置

cursor: pointer;

前进后退事件(暂时没找到实现方法)

最近在有一个需求就是从 A 文件 跳转到 B 文件,在 B 执行了一些请求之类的操作,但是 A 也要刷新,当然是不同的页面不是 SAP 的单页面,当时想了一下直接通过监听popstate事件不就可以获取么

<!-- 缩减代码 -->
<a href="help.html">子页面</a>
<script>
  window.onpopstate = function(event) {
    // 执行一些操作
  };
</script>

不过很遗憾这种方法是不行的,因为popstate事件针对的是 history对象发生变化时,另外,该事件只针对同一个文档,如果浏览历史的切换,导致加载不同的文档,该事件也不会触发,类似的还有popstate也不会触发,暂时没找到解决方法,如果有找到解决方法的小伙伴分享一下下。

最后

如果为内联样式动态辅助的时候注意兼容性的写法,常见的浏览器前缀如下

["Moz", "Webkit", "O", "ms", "Khtml"];

推荐一篇文章,觉得写得十分不错
前端认知:PPI、DPI、设备像素等概念

@bosens-China bosens-China added the 其他 未找到分类,暂定的文章 label Nov 21, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
其他 未找到分类,暂定的文章
Projects
None yet
Development

No branches or pull requests

1 participant