首页 > 其他分享 >2018-11-05

2018-11-05

时间:2024-10-08 20:35:23浏览次数:7  
标签:11 function 05 window 2018 iframe addEventListener var document

使用Flexible实现手淘H5页面的终端适配

再聊移动端页面的适配

如何在Vue项目中使用vw实现移动端适配

!(function(t, document) {
  var n = document.documentElement,
    r = t.devicePixelRatio || 1;
  function i() {
    var t = n.clientWidth / 10;
    n.style.fontSize = t + 'px';
  }
  if (
    ((function t() {
      document.body
        ? (document.body.style.fontSize = 12 * r + 'px')
        : document.addEventListener('DOMContentLoaded', t);
    })(),
    i(),
    t.addEventListener('resize', i),
    t.addEventListener('pageshow', function(t) {
      t.persisted && i();
    }),
    r >= 2)
  ) {
    var o = document.createElement('body'),
      s = document.createElement('div');
    (s.style.border = '.5px solid transparent'),
      o.appendChild(s),
      n.appendChild(o),
      1 === s.offsetHeight && n.classList.add('hairlines'),
      n.removeChild(o);
  }
})(window, document);
var PAGE_MAX_WIDTH = 640,
  BASE_FONT_SIZE = 50;
//在窗口各宽情况时,动态计算出html的font-size
!(function() {
  var DOC_ROOT_STYLE = document.documentElement.style,
    docEle = document.documentElement || document.body;

  window.addEventListener('load', resizeFontSize);
  window.addEventListener('resize', resizeFontSize);
  resizeFontSize();

  function resizeFontSize() {
    var clientWidth = Math.max(docEle.clientWidth || 0, window.innerWidth || 0);

    DOC_ROOT_STYLE.fontSize =
      Math.min(
        (clientWidth / PAGE_MAX_WIDTH) * BASE_FONT_SIZE,
        BASE_FONT_SIZE,
      ) + 'px';
  }

  window.alert = function(name) {
    var iframe = document.createElement('IFRAME');
    iframe.style.display = 'none';
    iframe.setAttribute('src', 'data:text/plain,');
    document.documentElement.appendChild(iframe);
    window.frames[0].window.alert(name);
    iframe.parentNode.removeChild(iframe);
  };
  // (function androidInputBugFix() {
  //     // .container 设置了 overflow 属性, 导致 Android 手机下输入框获取焦点时, 输入法挡住输入框的 bug
  //     // 解决方法:
  //     // 0. .container 去掉 overflow 属性, 但此 demo 下会引发别的问题
  //     // 1. 参考 http://stackoverflow.com/questions/23757345/android-does-not-correctly-scroll-on-input-focus-if-not-body-element
  //     //    Android 手机下, input 或 textarea 元素聚焦时, 主动滚一把
  //     if (/Android/gi.test(navigator.userAgent)) {
  //         window.addEventListener('resize', function () {
  //             if (document.activeElement.tagName == 'INPUT' || document.activeElement.tagName == 'TEXTAREA') {
  //                 window.setTimeout(function () {
  //                     document.activeElement.scrollIntoViewIfNeeded();
  //                 }, 0);
  //             }
  //         });
  //     }
  // })();
})();

标签:11,function,05,window,2018,iframe,addEventListener,var,document
From: https://www.cnblogs.com/honghaitao/p/18452487

相关文章

  • 2018_11_02_05
    JavaScript事件流定义申明:本文仅限私人学习之用----原文;下图展示了完整的js事件流捕获阶段:Document>ElementHtml>ElementBody==>ElementDiv冒泡阶段:ElementDiv>ElementBody>ElementHtml==>Document分析捕获阶段:document对象首先接收到click事件,然后事件沿DO......
  • 2018_11_02_04
    instanceof运算符原文语法objectinstanceofconstructor参数object要检测的对象.constructor某个构造函数描述instanceof运算符用来检测constructor.prototype是否存在于参数object的原型链上。//定义构造函数functionC(){}functionD(){}varo=......
  • 2018_10_21_03
    box-flex使用说明1.box-flex属性box-flex主要让子容器针对父容器的宽度按一定规则进行划分<acticle><section>01</section><section>02</section><section>03</section></acticle>acticle{display:box;display:-moz-box;display......
  • 2018_10_21_02
    border-style属性定义及使用说明border-style属性设置一个元素的四个边框的样式。此属性可以有一到四个值。border-style:dottedsoliddoubledashed;值描述dotted上边框是点状solid右边框是实线double下边框是双线dashed左边框是虚线border-style......
  • 2018_10_21_01
    1px边框问题7种方法解决移动端Retina屏幕1px边框问题在retina屏中实现1pxborder效果下文出自7种方法解决移动端Retina屏幕1px边框问题造成边框变粗的原因其实这个原因很简单,因为css中的1px并不等于移动设备的1px,这些由于不同的手机有不同的像素密度。在......
  • 2018_11_02_02
    原理数据类型window.onload=()=>{vartest1='abcdef';vartest2=123;vartest3=true;vartest4={};vartest5=[];vartest6;vartest7={abcdef:123};vartest8=['abcdef',123];functiontest9(){r......
  • 2018_11_02_03
    匿名函数和闭包在计算机科学中,闭包是函数的非局部变量(自由变量)的引用环境。包含自由变量的函数与为所有这些自由变量提供了变量绑定的环境一起,被称为闭包。以下内容为学习笔记,来自李炎恢老师的课堂纪要。1.匿名函数普通函数functionbox(){//函数名是boxreturn'Lee......
  • 2018_11_02_01
    战舰游戏展示基于vue开发,具体代码请看vue写法<js-2018_11_02_01-index/>原生js代码<divclass="continuar"><tablecellpadding="0"cellspacing="0"id='tab'>tr*7>td*7</table><divclass="e......
  • 2018_10_29_02
    代码收集区分桌面环境与移动平台参考文章:https://segmentfault.com/a/1190000016760627<<<docs/.vuepress/components/js/2018_10_29_01/2018_10_29_01.jselement元素Y轴的scroll事件触发移动平台<<<docs/.vuepress/components/js/2018_10_29_02/html_scroll_mo......
  • 2018_10_28_01
    vscode配置vscode插件AtomOneDarkThemeAutoRenameTagvscode-language-babelChinese(Simplified)LanguagePackforVisualStudioCodeCodeSpellCheckerDockerESLintHopscotch(Official)IntelliJIDEAKeybindingsminapp-vscodePathIntellisensePHPDebu......