<commit_before># flexible.js
 移动端高清屏显示方案

## Demo

[demo](https://jiankafei.github.io/flexible/)

## 宽度获取
 1. 通过 window.screen.width 获取，但在低端 Android 上获取的却是html宽度，因此不可用；
 2. 没有添加 meta>name=viewport 标签。则获取的html元素宽度为980，因此也不可用；
 3. 添加了 meta>name=viewport 标签。则获取的html元素宽度就正常了。

	w = document.documentElement.clientWidth / window.dpr

	注：dpr为 meta>name=viewport 标签设置的缩放比的倒数

	这里又分为两种：
	1. 动态添加 meta>name=viewport 标签，之后获取的 w 宽度在高端Android和iPhone上正常，但在部分低端Android上获取的html宽度仍然是980，在QQ浏览器上获取的html宽度有偏差（比实际的小）。原因应该是虽然动态添加了 meta>name=viewport，但是内部并没有立即应用，所以导致获取的html宽度依然是没有添加之前的宽度。
	2. 手动添加 meta>name=viewport 标签，之后获取的html 宽度是正确的，各个浏览器都正常；

	综上，最后的方案是手动添加 meta>name=viewport 标签，动态修改该标签的缩放比，并且在遇到dpr为小数时强制设置为1。

 	注：dpr为小数为什么要强行设置为1？因为在一些低端 Android 和谷歌手机上会出现尺寸计算错误的问题，就是明明 dpr=2.5 但在 rem 的计算上却当作 2.0来处理，导致尺寸出错，所以只能设置为1。

## 版本
 **V1.5**
 1. 开发者需要引入一段meta标签，还有该js文件；
 `<meta name="viewport" content="target-densitydpi=device-dpi, width=device-width, initial-scale=1, minimum-scale=1, maximum-scale=1, user-scalable=no">`
 2. 当设备的dpr为小数时，则设置为1，否则为设备真实dpr；<commit_msg>upgrade readme<commit_after># flexible.js
 移动端高清屏显示方案

## Demo

[demo](https://jiankafei.github.io/flexible/)

## 宽度获取
 1. 通过 window.screen.width 获取，但在低端 Android 上获取的却是html宽度，因此不可用；
 2. 没有添加 meta>name=viewport 标签。则获取的html元素宽度为980，因此也不可用；
 3. 添加了 meta>name=viewport 标签。则获取的html元素宽度就正常了。

	w = document.documentElement.clientWidth / window.dpr

	注：dpr为 meta>name=viewport 标签设置的缩放比的倒数

	这里又分为两种：
	1. 动态添加 meta>name=viewport 标签，之后获取的 w 宽度在高端Android和iPhone上正常，但在部分低端Android上获取的html宽度仍然是980，在QQ浏览器上获取的html宽度有偏差（比实际的小）。原因应该是虽然动态添加了 meta>name=viewport，但是内部并没有立即应用，所以导致获取的html宽度依然是没有添加之前的宽度。
	2. 手动添加 meta>name=viewport 标签，之后获取的html 宽度是正确的，各个浏览器都正常；

 综上，最后的方案是手动添加 meta>name=viewport 标签，动态修改该标签的缩放比，并且在遇到dpr为小数时强制设置为1。

 注：dpr为小数为什么要强行设置为1？因为在一些低端 Android 和谷歌手机上会出现尺寸计算错误的问题，就是明明 dpr=2.5 但在 rem 的计算上却当作 2.0来处理，导致尺寸出错，所以只能设置为1。

## 版本
 **V1.5**
 1. 开发者需要引入一段meta标签，还有该js文件；
 `<meta name="viewport" content="target-densitydpi=device-dpi, width=device-width, initial-scale=1, minimum-scale=1, maximum-scale=1, user-scalable=no">`
 2. 当设备的dpr为小数时，则设置为1，否则为设备真实dpr；
{'fraction_non_alphanumeric': 0.11692015209125475, 'fraction_numerical': 0.024714828897338403, 'mean_word_length': 7.522267206477733, 'pattern_counts': {'":': 0, '<': 5, '<?xml version=': 0, '>': 19, 'https://': 2, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '272966', 'n_tokens_mistral': 1345, 'n_tokens_neox': 1546, 'n_words': 128}