2016.07 第4周 群问题分享

HTML+CSS

CSS pixels与Device pixels有何区别?

2016.07.25~2016.07.29

核心概念

CSS pixels、Device pixels

问题解析

CSS pixels: 浏览器使用的抽象单位, 主要用来在网页上绘制内容

Device pixels: 显示屏幕的的最小物理单位,每个dp包含自己的颜色、亮度

等值的 CSS pixels在手机屏幕上占多大的位置,这不是固定的,这取决于很多属性。经过分析和总结,我们可以得出这么一条公式: 1 CSS pixels = (devicePixelRatio)^2 Device pixels (^2是平方的意思)

想了解更多关于“CSS pixels与Device pixels”发送“适配”到HTML5学堂公众号

JavaScript

如何替换丢失(加载失败)的图片

2016.07.25~2016.07.29

核心概念

unbind()、attr()

问题解析

//第一种方法
// 为了防止替换的图片也加载失败而导致死循环,这边给完成替换的图片移除掉error事件
$("img").error(function () {
  $(this).unbind("error").attr("src", "missing_image.gif");
});
// 第二种方法
$("img").error(function () {
  $(this).attr("src", "missing_image.gif");
});

JavaScript判断是否是移动设备

2016.07.25~2016.07.29

核心概念

字符串方法、用户代理

问题解析

var browser = {
    versions: function () {
        var u = navigator.userAgent,
            app = navigator.appVersion;
        return { //移动终端浏览器版本信息
            trident: u.indexOf('Trident') > -1, //IE内核
            presto: u.indexOf('Presto') > -1, //opera内核
            webKit: u.indexOf('AppleWebKit') > -1, //苹果、谷歌内核
            gecko: u.indexOf('Gecko') > -1 && u.indexOf('KHTML') == -1, //火狐内核
            mobile: !!u.match(/AppleWebKit.*Mobile.*/) || !!u.match(/AppleWebKit/), //是否为移动终端
            ios: !!u.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/), //ios终端
            android: u.indexOf('Android') > -1 || u.indexOf('Linux') > -1, //android终端或者uc浏览器
            iPhone: u.indexOf('iPhone') > -1 || u.indexOf('Mac') > -1, //是否为iPhone或者QQHD浏览器
            iPad: u.indexOf('iPad') > -1, //是否iPad
            webApp: u.indexOf('Safari') == -1 //是否web应该程序,没有头部与底部
        };
    }(),
    language: (navigator.browserLanguage || navigator.language).toLowerCase()
}
document.writeln("语言版本: " + browser.language);
document.writeln(" 是否为移动终端: " + browser.versions.mobile);
document.writeln(" ios终端: " + browser.versions.ios);
document.writeln(" android终端: " + browser.versions.android);
document.writeln(" 是否为iPhone: " + browser.versions.iPhone);
document.writeln(" 是否iPad: " + browser.versions.iPad);
document.writeln(navigator.userAgent);
if (browser.versions.android || browser.versions.iPhone || browser.versions.iPad) {
    alert("是移动端");
} else {
    alert("不是移动端");
}

JavaScript刷新页面的几种方法

2016.07.25~2016.07.29

核心概念

页面刷新

问题解析

history.go(0)
location.reload()
location = location
location.assign(location)
document.execCommand('Refresh')
window.navigate(location)
location.replace(location)
document.URL=location.href
window.location.reload()刷新当前页面
parent.location.reload()刷新父亲对象(用于框架)
opener.location.reload()刷新父窗口对象(用于单开窗口)
top.location.reload()刷新最顶端对象(用于多开窗口)
window.location.reload()刷新当前页面
parent.location.reload()刷新父亲对象(用于框架)
opener.location.reload()刷新父窗口对象(用于单开窗口)
top.location.reload()刷新最顶端对象(用于多开窗口)

jQuery的ready函数与JS的onload的区别

2016.07.25~2016.07.29

核心概念

ready函数、onload

问题解析

1、执行时间

window.onload必须等到网站资源加载完毕后才能执行;

$(document).ready()是DOM结构绘制完毕后就执行,不必等到资源加载完毕;

2、编写个数不同

window.onload不能同时编写多个,如果有多个window.onload方法,只会执行一个

$(document).ready()可以同时编写多个,并且都可以得到执行

3、简化写法

window.onload没有简化写法

$(document).ready(function(){})可以简写成$(function(){})

HTML5学堂小编 - 陈林耗时5h

原文发布于微信公众号 - HTML5学堂(h5course-com)

原文发表时间:2016-07-31

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏啸天"s blog

微信内置浏览器自动跳转其它浏览器

4043
来自专栏菩提树下的杨过

图片的javascript延时加载

在页面很长(超过3屏)且图片又很多时,默认情况下浏览器会加载所有图片,有可能导致第二屏的图片显示出来了,但第一屏的图片还在加载,这种情况最适合用"javascr...

1926
来自专栏美丽应用

PPIICC:简洁易用的长截图工具

1052
来自专栏互联网软件技术

wangEditor-基于javascript和css开发的 Web富文本编辑器, 轻量、简洁、易用、开源免费(1)

wangEditor-基于javascript和css开发的 Web富文本编辑器, 轻量、简洁、易用、开源免费

2366
来自专栏娱乐心理测试

小程序——带参返回上一页几种方法

2034
来自专栏h5

支付宝小程序弹窗插件开发|仿微信/android/ios弹窗效果

支付宝小程序弹窗交互组件和微信小程序弹窗功能都差不多,对功能有比较多的限制,尤其想要实现丰富一些的弹窗场景就只能自己写组件实现了。

3241
来自专栏移动开发之家

从Android到React Native开发(三、自定义原生控件支持)

恍惚间3个月过去了,作为揭棺而起的失踪人口,迟来的第三篇,也是react native原生相关的最后的一篇,是时候给收个尾了。这次就不废话了,直接上主题( ̄^ ̄...

461
来自专栏编程微刊

微信小程序从零开始开发步骤(五)轮播图

3123
来自专栏谦谦君子修罗刀

RN项目第一节

一、项目说明 本项目为模仿美团的项目,采用的是网上提供的API接口。导航采用 公司推荐的react-navigation,滚动条采用第三方组件react-na...

3476
来自专栏QQ音乐技术团队的专栏

在 web 环境运行 react-native 页面

近两年来 react-native 构造原生应用异常火爆,在 app 中用来替代 H5 页面可以明显提升用户体验,但是在一些场景是需要配套 web 版本的,如果...

4500

扫码关注云+社区