已找到回答,輪搜索關鍵字的重要性
不折不扣的樂天派
小自信,小好勝
什么都想做什么都想嘗試的生活至上者
沒有足夠的數據
funkyLover 回答了問題 · 2020-05-13
已找到回答,輪搜索關鍵字的重要性
已找到回答,輪搜索關鍵字的重要性 [鏈接]
關注 1 回答 1
funkyLover 提出了問題 · 2020-05-13
new Date('1000-01-01 00:00:00').toISOString()
// "0999-12-31T15:54:17.000Z"
new Date("0999-12-31T15:54:17.000Z")
// 注意這里的 +0805
// Wed Jan 01 1000 00:00:00 GMT+0805 (中國標準時間)
new Date('1900-01-01 00:00:00').toISOString()
// "1899-12-31T15:54:17.000Z"
new Date("1899-12-31T15:54:17.000Z")
// 注意這里的 +0805
// Mon Jan 01 1900 00:00:00 GMT+0805 (中國標準時間)
new Date().toISOString()
// "2020-05-13T03:48:47.210Z"
new Date("2020-05-13T03:48:47.210Z")
// 這里是 +0800
// Wed May 13 2020 11:48:47 GMT+0800 (中國標準時間)
這是 feature 還是 issue?
目前還發現有的瀏覽器會出現不一樣的行為
new Date('1000-01-01 00:00:00').toISOString()
// "0999-12-31T15:54:17.000Z"
new Date("0999-12-31T15:54:17.000Z")
// 注意這里的 +0800
// Tue Dec 31 0999 23:54:17 GMT+0800 (GMT+08:00)
{代碼...} 這是 feature 還是 issue? 目前還發現有的瀏覽器會出現不一樣的行為 {代碼...}
關注 1 回答 1
funkyLover 提出了問題 · 2020-02-26
現有師生關系表
teacher_id | student_id |
---|---|
1 | 1 |
2 | 1 |
2 | 2 |
1 | 3 |
和學生表
student_id | name |
---|---|
1 | a |
2 | b |
3 | c |
然后用老師的id, 查出和這個老師有關聯的所有學生, 用 typerom
如何實現這樣的聯合查詢?
即當 teacher_id = 1
時, 要查出 a
和 c
兩位學生
現有師生關系表 teacher_id student_id 1 1 2 1 2 2 1 3 和學生表 student_id name 1 a 2 b 3 c 然后用老師的id, 查出和這個老師有關聯的所有學生, 用 typerom 如何實現這樣的聯合查詢? 即當 teacher_id = 1 時, 要查出 a 和 c 兩位學生
關注 1 回答 0
funkyLover 收藏了文章 · 2019-12-24
手機在系統設置和微信設置的通用設置中都提供放大字體功能,這兩種設置都可以系統中字體和應用中字體的大小。
此外在微信瀏覽器和其他一些瀏覽器中還提供手動設置瀏覽器字體大小,一旦用戶設置放大字體,很多頁面的布局就會錯位,也是很尷尬了。
正常情況下一個頁面代碼,輸入欄的名稱和輸入框是百分比布局,左右浮動。在不同大小的設備上都可以正常顯示。
<html>
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width,initial-scale=1.0, maximum-scale=1.0, user-scalable=0"/>
<meta https-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<title>微信瀏覽器放大字體問題</title>
<script data-original="http://libs.baidu.com/jquery/1.9.1/jquery.min.js"></script>
<style type="text/css">
html,body{margin: 0;}
.fl{float: left;}
.fr{float: right;}
.clearfix {zoom: 1;}
.clearfix:after {content: ".";width: 0;height: 0;visibility: hidden;display: block;clear: both;overflow:hidden;}
.message{height: 100px;}
.input-box{line-height: 30px; margin-top: 30px;padding: 0 10px;}
.input-box label{}
.input-box input{width:85%;height: 30px;font-size: 16px;}
.footer-btn{position: fixed;bottom: 0;width: 100%;height: 50px;line-height: 50px;text-align: center;color: #ffffff;background-color: #055DAD;}
</style>
</head>
<body>
<div class="container">
<div class="clearfix input-box">
<label class="fl">姓名: </label>
<input class="fr" type="text" placeholder="請輸入姓名">
</div>
<div class="clearfix input-box">
<label class="fl">電話: </label>
<input class="fr" type="text" placeholder="請輸入電話">
</div>
<div class="clearfix input-box">
<label class="fl">電話: </label>
<input class="fr" type="text" placeholder="請輸入地址">
</div>
<div class="footer-btn">完成提交</div>
</div>
</body>
</html>
但是在瀏覽器的設置中設置字體大小后,頁面布局就錯位了。
優點:1. 這種方式可以完全還原頁面原本的布局樣式。2. 實現簡單,只需在頁面上加一段css,一段JavaScript。
缺點:1. 因為通過代碼執行完成可能造成頁面閃爍,這個問題可以通過提前執行這段代碼或者做加載完成前頁面暫時不展示解決。2. 這種方式對那些真正需要放大瀏覽器字體的用戶并不友好。
優點:1. 不許額外執行JavaScript代碼。2. 用戶可以選擇調整瀏覽器字體,對于有這種需求的用戶友好,目前像京東淘寶的移動web端都是使用這種方式。
缺點:1. 即使通過改變布局該應對變化,但是還是會出現布局錯位的情況。2. 實現起來較為復雜,需要在開發時一直考慮這個問題。
瀏覽器的放大字體功能在iOS系統和Android系統中調整瀏覽器字體的實現方式不同,所以要針對設置。參考富途Web開發團隊https://futu.im/posts/2017-10...
在iOS系統中調整瀏覽器字體的字體大小是通過給body設置-webkit-text-size-adjust屬性實現的,所以可以通過用優先級覆蓋這個屬性來禁止調整字體大小。
body {
-webkit-text-size-adjust: 100% !important;
text-size-adjust: 100% !important;
-moz-text-size-adjust: 100% !important;
}
在安卓系統中調整瀏覽器字體是通過改變字體大小。所以可以考慮將字體大小在設置的時候進行等比例縮小。例如,一個文字希望以10px來進行渲染,當瀏覽器字體被放大兩倍時,此時font-size會變為20px。因此我們可以在取到這個放大比例之后,對原樣式進行等比縮小,比如將原文字大小設置為5px,渲染的時候就變成了10px。
做這種處理時注意頁面中使用rem為單位。
<script>
(function(){
var $dom = document.createElement('div');
$dom.style = 'font-size:10px;';
document.body.appendChild($dom);
// 計算出放大后的字體
var scaledFontSize = parseInt(window.getComputedStyle($dom, null).getPropertyValue('font-size'));
document.body.removeChild($dom);
// 計算原字體和放大后字體的比例
var scaleFactor = 10 / scaledFontSize;
var originRootFontSize = parseInt(window.getComputedStyle(document.documentElement, null).getPropertyValue('font-size'));
document.documentElement.style.fontSize = originRootFontSize * scaleFactor * scaleFactor + 'px';
})();
</script>
改變布局適應瀏覽器字體變化要根據頁面實際布局結構來調整。
比較常見的情況比如:元素1和元素2浮動布局或直接是行內元素。在放大瀏覽器字體的字體后,兩個元素的寬度都可能超過原先設置的寬度,導致布局錯位。
這種情況可以通過改變布局方式來避免。
手機在系統設置和微信設置的通用設置中都提供放大字體功能,這兩種設置都可以系統中字體和應用中字體的大小。此外在微信瀏覽器和其他一些瀏覽器中還提供手動設置瀏覽器字體大小,一旦用戶設置放大字體,很多頁面的布局就會錯位,也是很尷尬了。
funkyLover 贊了文章 · 2019-12-24
手機在系統設置和微信設置的通用設置中都提供放大字體功能,這兩種設置都可以系統中字體和應用中字體的大小。
此外在微信瀏覽器和其他一些瀏覽器中還提供手動設置瀏覽器字體大小,一旦用戶設置放大字體,很多頁面的布局就會錯位,也是很尷尬了。
正常情況下一個頁面代碼,輸入欄的名稱和輸入框是百分比布局,左右浮動。在不同大小的設備上都可以正常顯示。
<html>
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width,initial-scale=1.0, maximum-scale=1.0, user-scalable=0"/>
<meta https-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<title>微信瀏覽器放大字體問題</title>
<script data-original="http://libs.baidu.com/jquery/1.9.1/jquery.min.js"></script>
<style type="text/css">
html,body{margin: 0;}
.fl{float: left;}
.fr{float: right;}
.clearfix {zoom: 1;}
.clearfix:after {content: ".";width: 0;height: 0;visibility: hidden;display: block;clear: both;overflow:hidden;}
.message{height: 100px;}
.input-box{line-height: 30px; margin-top: 30px;padding: 0 10px;}
.input-box label{}
.input-box input{width:85%;height: 30px;font-size: 16px;}
.footer-btn{position: fixed;bottom: 0;width: 100%;height: 50px;line-height: 50px;text-align: center;color: #ffffff;background-color: #055DAD;}
</style>
</head>
<body>
<div class="container">
<div class="clearfix input-box">
<label class="fl">姓名: </label>
<input class="fr" type="text" placeholder="請輸入姓名">
</div>
<div class="clearfix input-box">
<label class="fl">電話: </label>
<input class="fr" type="text" placeholder="請輸入電話">
</div>
<div class="clearfix input-box">
<label class="fl">電話: </label>
<input class="fr" type="text" placeholder="請輸入地址">
</div>
<div class="footer-btn">完成提交</div>
</div>
</body>
</html>
但是在瀏覽器的設置中設置字體大小后,頁面布局就錯位了。
優點:1. 這種方式可以完全還原頁面原本的布局樣式。2. 實現簡單,只需在頁面上加一段css,一段JavaScript。
缺點:1. 因為通過代碼執行完成可能造成頁面閃爍,這個問題可以通過提前執行這段代碼或者做加載完成前頁面暫時不展示解決。2. 這種方式對那些真正需要放大瀏覽器字體的用戶并不友好。
優點:1. 不許額外執行JavaScript代碼。2. 用戶可以選擇調整瀏覽器字體,對于有這種需求的用戶友好,目前像京東淘寶的移動web端都是使用這種方式。
缺點:1. 即使通過改變布局該應對變化,但是還是會出現布局錯位的情況。2. 實現起來較為復雜,需要在開發時一直考慮這個問題。
瀏覽器的放大字體功能在iOS系統和Android系統中調整瀏覽器字體的實現方式不同,所以要針對設置。參考富途Web開發團隊https://futu.im/posts/2017-10...
在iOS系統中調整瀏覽器字體的字體大小是通過給body設置-webkit-text-size-adjust屬性實現的,所以可以通過用優先級覆蓋這個屬性來禁止調整字體大小。
body {
-webkit-text-size-adjust: 100% !important;
text-size-adjust: 100% !important;
-moz-text-size-adjust: 100% !important;
}
在安卓系統中調整瀏覽器字體是通過改變字體大小。所以可以考慮將字體大小在設置的時候進行等比例縮小。例如,一個文字希望以10px來進行渲染,當瀏覽器字體被放大兩倍時,此時font-size會變為20px。因此我們可以在取到這個放大比例之后,對原樣式進行等比縮小,比如將原文字大小設置為5px,渲染的時候就變成了10px。
做這種處理時注意頁面中使用rem為單位。
<script>
(function(){
var $dom = document.createElement('div');
$dom.style = 'font-size:10px;';
document.body.appendChild($dom);
// 計算出放大后的字體
var scaledFontSize = parseInt(window.getComputedStyle($dom, null).getPropertyValue('font-size'));
document.body.removeChild($dom);
// 計算原字體和放大后字體的比例
var scaleFactor = 10 / scaledFontSize;
var originRootFontSize = parseInt(window.getComputedStyle(document.documentElement, null).getPropertyValue('font-size'));
document.documentElement.style.fontSize = originRootFontSize * scaleFactor * scaleFactor + 'px';
})();
</script>
改變布局適應瀏覽器字體變化要根據頁面實際布局結構來調整。
比較常見的情況比如:元素1和元素2浮動布局或直接是行內元素。在放大瀏覽器字體的字體后,兩個元素的寬度都可能超過原先設置的寬度,導致布局錯位。
這種情況可以通過改變布局方式來避免。
手機在系統設置和微信設置的通用設置中都提供放大字體功能,這兩種設置都可以系統中字體和應用中字體的大小。此外在微信瀏覽器和其他一些瀏覽器中還提供手動設置瀏覽器字體大小,一旦用戶設置放大字體,很多頁面的布局就會錯位,也是很尷尬了。
贊 3 收藏 2 評論 0
funkyLover 提出了問題 · 2019-11-18
使用rollup打包工具庫,工具庫中使用了async/await特性
發現生產構建打包時,會把regeneratorRuntime也打進去
我希望regeneratorRuntime的引入由使用者在各自的業務項目代碼中去配置引用,應該怎么配置?
由此問題延伸,不止async/await特性,包括其他es6-8特性
如果在打包工具類庫時,就把所有的ployfill都打包進去了
開發者在使用這個類庫時,又于業務項目中配置了babel等編譯工具,這樣不就會導致ployfill重復導入了嗎?
打包工具類庫的最佳實踐是怎么樣的呢?
// babel配置
{
"presets": ["@babel/env", "@babel/preset-typescript"],
"plugins": [
"@babel/proposal-class-properties",
"@babel/proposal-object-rest-spread",
"@babel/plugin-transform-runtime"
]
}
rollup 打包配置
export default {
// 核心選項
input: 'src/index.ts',
plugins: [
resolve({
customResolveOptions: {
moduleDirectory: 'node_modules'
}
}),
commonjs({
sourceMap: false
}),
eslint(),
babel({
runtimeHelpers: true,
extensions: ['js', 'ts'],
include: ['src/**/*'],
exclude: 'node_modules/**'
})
],
external: ['axios'],
output: {
file: 'dist/index.js',
format: 'umd',
name: 'xxx',
globals: {
axios: 'axios'
}
}
};
使用rollup打包工具庫,工具庫中使用了async/await特性 發現生產構建打包時,會把regeneratorRuntime也打進去 我希望regeneratorRuntime的引入由使用者在各自的業務項目代碼中去配置引用,應該怎么配置? 由此問題延伸,不止async/await特性,包括其他es6-8特性 如果...
關注 1 回答 0
funkyLover 回答了問題 · 2019-10-23
https://stackoverflow.com/que...
chrome執行從本地文件系統獲取的腳本時,不允許加載web workers
[鏈接] chrome執行從本地文件系統獲取的腳本時,不允許加載web workers
關注 6 回答 5
funkyLover 回答了問題 · 2019-10-15
from https://developer.mozilla.org...:last-child:last-child
CSS 偽類 代表父元素的最后一個子元素。
如.item:last-child
,選中并不是指.item類中的最后一個元素
, 而是既是.item 又是 父元素的最后一個子元素 的元素
所以和你題目中問的第二元素
沒有關系, 他沒有生效的原因是該元素并不是父元素的最后一個元素
from [鏈接]:last-child:last-child CSS 偽類 代表父元素的最后一個子元素。 如.item:last-child,選中并不是指.item類中的最后一個元素, 而是既是.item 又是 父元素的最后一個子元素 的元素 所以和你題目中問的第二元素沒有關系, 他沒有生效的原因是該元素并不是父元...
關注 5 回答 5
funkyLover 回答了問題 · 2019-09-25
npx vue-cli-service build
或者
./node_modules/.bin/vue-cli-service build
上面兩種做法應該可以執行
原因就是node_modules的模塊并不在你機器的系統環境變量中,你直接使用vue-cli-service
系統并找不到這個命令
而我們平常使用npm scripts
來運行,其實在運行時是npm幫我們創建執行環境并索引到node_modules
里面的具體的可執行文件
至于npx
,建議你可以baidu一下
{代碼...} 或者 {代碼...} 上面兩種做法應該可以執行 原因就是node_modules的模塊并不在你機器的系統環境變量中,你直接使用vue-cli-service系統并找不到這個命令 而我們平常使用npm scripts來運行,其實在運行時是npm幫我們創建執行環境并索引到node_modules里面的...
關注 2 回答 1
查看全部 個人動態 →
一個用于解決前后端分離并行開發時前端依賴接口數據問題的小工具, 通過讀取本地文件生成mock api配置并啟動node服務器. 然后只需把前端請求轉發到該服務器即可
注冊于 2014-11-20
個人主頁被 2.3k 人瀏覽
推薦關注
我要該,理由是: