有兩個(gè)地方要修改.
前端頁(yè)面
把上傳控件修改成文本框. 類似這樣
<input type="file" name="file" />
<!-- 以上修改成以下 -->
<span>XLS 文件名(不帶擴(kuò)展名)</span>
<input type="text" name="xlsfilename" />
這樣你可以在網(wǎng)頁(yè)上輸入待導(dǎo)入的文件名, 而不是上傳本地文件了.
后臺(tái)代碼(你貼出來(lái)的 php 代碼)
把這部分
$file = upload_file($_FILES['file'], 'excel');
if(is_error($file)) {
imessage(error(-1, $file['message']), '', 'ajax');
}
修改成類似這樣的
$base_name = $_POST["xlsfilename"];
// 必須檢查文件名, 防止惡意輸入
// 合理的文件名只含 a-z, A-Z, 0-9, 及 "-" 和 "_", 最多 30 個(gè)字符.
if (!preg_match("/^[a-zA-Z0-9_-]{1,30}$/g", $base_name)) {
die("invalid file name");
return;
}
// 到 "/wwwroot/" 目錄下找指定的 xls 文件
$file = fopen("/wwwroot/" . base_name . ".xls","r");千辛萬(wàn)苦這個(gè)詞用的好!
淚~
// 如何判斷元素是否在可視區(qū)域
// 方法一
function isInSight2(ele) {
var visibleArea = document.documentElement.clientHeight;//屏幕可視區(qū)域的高度
var eleTop = ele.offsetTop;//元素相對(duì)于文檔頂部的距離
var scrollTop = document.documentElement.scrollTop;// 獲取瀏覽器窗口頂部距離文檔頂部的距離(滾動(dòng)條滾動(dòng)的距離)
return eleTop - scrollTop < visibleArea ? true : false
}
// 方法二 https://segmentfault.com/a/1190000010744417
function isInSight(el) {
const bound = el.getBoundingClientRect(); // 圖片到頂部可視區(qū)域的高度
const clientHeight = window.innerHeight;// 可視區(qū)域的高度
//如果只考慮向下滾動(dòng)加載
//const clientWidth=window.innerWeight;
return bound.top <= clientHeight + 100;
}
可以嘗試修改charset試試
前端也可以用replace對(duì)字符串替換
買三臺(tái)以上的服務(wù)器就好了啊, 對(duì)金融行業(yè)來(lái)說(shuō)三臺(tái)服務(wù)器都不是事。。。
或者買臺(tái)高配的, 用虛擬機(jī)的模式, 這種也很常用
@donglegend 你好,謝謝,基本上可以,但是這種方式感覺(jué)有缺陷,如下:
//假設(shè)我想在1s中完成動(dòng)畫(huà)(滑動(dòng)250px)
//那么我需要函數(shù)執(zhí)行多少次呢?
//很顯然,如果我想動(dòng)畫(huà)看上去越順滑,那必須每次移動(dòng)的像素就越小,所以函數(shù)執(zhí)行越頻繁;
//相反,如果函數(shù)間隔時(shí)間越大,動(dòng)畫(huà)會(huì)非常難看(一次移動(dòng)的像素太多)
問(wèn)題:假設(shè)我滑動(dòng)的距離足夠大(1000px),執(zhí)行的時(shí)間足夠短(0.3s),看上去動(dòng)畫(huà)要足夠順滑(每次移動(dòng)5px),那么函數(shù)需要多長(zhǎng)時(shí)間執(zhí)行一次呢? 。0.3 / (1000 / 5) ,0.3s要執(zhí)行200次函數(shù),每 0.0015s 執(zhí)行一次,這么頻繁的執(zhí)行函數(shù)到底有沒(méi)有問(wèn)題呢?如果每次只能移動(dòng)1px呢?
再者就是這些計(jì)算麻煩,不如css3動(dòng)畫(huà)來(lái)得方便。
我用css實(shí)現(xiàn)的動(dòng)畫(huà)和js鉤子實(shí)現(xiàn)的作比較,都是0.3s,總感覺(jué)css的動(dòng)畫(huà)要快,要順滑。
<template>
<transition
v-on:before-enter="beforeEnter"
v-on:enter="enter"
v-on:leave="leave"
>
<slot></slot>
</transition>
</template>
<script>
export default {
name: 'animation',
data() {
return {
enterTimer: null,
leaveTimer: null
}
},
methods: {
beforeEnter: function(el) {
//設(shè)置滑塊的初始位置(滑塊的寬度)
el.style.bottom = '-250px'
},
enter: function(el, done) {
clearInterval(this.leaveTimer)
let _v = 0
//假設(shè)我想在1s中完成動(dòng)畫(huà)(滑動(dòng)250px)
//那么我需要函數(shù)執(zhí)行多少次呢?
//很顯然,如果我想動(dòng)畫(huà)看上去越順滑,那必須每次移動(dòng)的像素就越小,所以函數(shù)執(zhí)行越頻繁;
//相反,如果函數(shù)間隔時(shí)間越大,動(dòng)畫(huà)會(huì)非常難看(一次移動(dòng)的像素太多)
this.enterTimer = setInterval(() => {
if (_v < 250) {
_v += 2.5
} else {
_v = 250
clearInterval(this.enterTimer)
done()
}
el.style.opacity = _v
el.style.transform = `translateY(-${_v}px)`
}, 3)
},
leave: function(el, done) {
clearInterval(this.enterTimer)
let _v = 250
this.leaveTimer = setInterval(() => {
if (_v > 0) {
_v -= 2.5
} else {
_v = 0
clearInterval(this.leaveTimer)
done()
}
el.style.opacity = _v
el.style.transform = `translateY(-${_v}px)`
}, 3)
}
}
}
</script>
之前一直以為官方價(jià)紹了兩種方式是等價(jià)的,并且兩種方式對(duì)應(yīng)的demo不是等效的,感覺(jué)這是巨大的一個(gè)坑
function a(req, res, next) {
const a1 = 'this is a1'
//req.a1 = a1
res.locals.a1 = a1
next()
}
app.get('/b', a, (req, res) => {
res.send(res.locals.a1)
})
等等方法
先綁定;
data-item="{{item}}"
在事件處理函數(shù)里用event.currentTarget.dataset.item拿到當(dāng)前item
點(diǎn)擊兩次肯定一次為true一次為false啊,和antd沒(méi)關(guān)系,一個(gè)checkbox點(diǎn)擊切換狀態(tài),原生的也是這樣
用 babel-preset-env,然后 target: node 應(yīng)該就可以了。
{
"presets": [
["env", {
"targets": {
"node": "current"
}
}]
]
}
你的題目中并沒(méi)有給出大概的Dom結(jié)構(gòu),以及mouseenter事件綁定在哪個(gè)元素上。
這個(gè)現(xiàn)象應(yīng)該是和事件冒泡有關(guān)系,內(nèi)部元素的mouseenter觸發(fā)后,向上冒泡,父元素的mouseenter都被觸發(fā)一遍。
還有一種可能是,mouseenter被某種原因綁定了多次,不斷累加,當(dāng)事件觸發(fā)后,就會(huì)出現(xiàn)你說(shuō)的現(xiàn)象。
actions里面的參數(shù)錯(cuò)了
`
actions:{
login({commit},context){
......
commit("updatelogindata",message.datail)
}
}`
1,首先確認(rèn)下,淘寶的鏡像地址是否正確:
registry=https://registry.npm.taobao.org/
2,然后,確認(rèn)下,執(zhí)行 npm install 的工程里是否含有 .npmrc 文件,如有的化,請(qǐng)刪除掉。即可用全局的配置
可以存對(duì)象啊
const chart = {}
for (let i = 0; i < $scope.detailsList.length; i++) {
chart[$scope.detailsList[i].id] = tiny.charts({document.getElementById($scope.detailsList[i].id), option})
}
import()是個(gè)語(yǔ)法糖,返回值是一個(gè)Promise對(duì)象,意味著這需要異步處理,你可以在.then()中拿到真正的模塊?;谶@點(diǎn),你的截圖其實(shí)是這樣的:
{
component: () => {
return import('xxx');
},
}
把import包裹在函數(shù)中,當(dāng)真正用到模塊的時(shí)候,才執(zhí)行 component().then()。這就是懶加載了
是不是這個(gè)樣子,算同一行
反正就是用css嗎,這和用什么vue什么element 有什么關(guān)系,別說(shuō)同一行,覆蓋在上面也可以啊
https://jsfiddle.net/papersna...
服務(wù)端做反向代理,大概率是跨域問(wèn)題
這個(gè)是ajax跨域問(wèn)題。
微信網(wǎng)頁(yè)授權(quán),參數(shù)見(jiàn)https://mp.weixin.qq.com/wiki...:
// 微信網(wǎng)頁(yè)授權(quán)主要代碼
window.location.replace('https://open.weixin.qq.com/connect/oauth2/authorize...');
微信網(wǎng)頁(yè)授權(quán)還有幾個(gè)注意點(diǎn):
1、在微信公眾號(hào)請(qǐng)求用戶網(wǎng)頁(yè)授權(quán)之前,開(kāi)發(fā)者需要先到公眾平臺(tái)官網(wǎng)中的“開(kāi)發(fā) - 接口權(quán)限 - 網(wǎng)頁(yè)服務(wù) - 網(wǎng)頁(yè)帳號(hào) - 網(wǎng)頁(yè)授權(quán)獲取用戶基本信息”的配置選項(xiàng)中,修改授權(quán)回調(diào)域名。請(qǐng)注意,這里填寫(xiě)的是域名(是一個(gè)字符串),而不是URL,因此請(qǐng)勿加 http:// 等協(xié)議頭;
2、授權(quán)回調(diào)域名配置規(guī)范為全域名,比如需要網(wǎng)頁(yè)授權(quán)的域名為:www.qq.com,配置以后此域名下面的頁(yè)面http://www.qq.com/music.html 、 http://www.qq.com/login.html 都可以進(jìn)行OAuth2.0鑒權(quán)。但http://pay.qq.com 、 http://music.qq.com 、 http://qq.com無(wú)法進(jìn)行OAuth2.0...;
3、redirect_uri:授權(quán)后重定向的回調(diào)鏈接地址,使用urlEncode對(duì)鏈接進(jìn)行處理
http://fly.layui.com/jie/28176/
fly社區(qū)@歲月小偷 解釋的很詳細(xì)!
這種,當(dāng)數(shù)據(jù)量達(dá)到100行之后,交互卡,是table布局
北大青鳥(niǎo)APTECH成立于1999年。依托北京大學(xué)優(yōu)質(zhì)雄厚的教育資源和背景,秉承“教育改變生活”的發(fā)展理念,致力于培養(yǎng)中國(guó)IT技能型緊缺人才,是大數(shù)據(jù)專業(yè)的國(guó)家
達(dá)內(nèi)教育集團(tuán)成立于2002年,是一家由留學(xué)海歸創(chuàng)辦的高端職業(yè)教育培訓(xùn)機(jī)構(gòu),是中國(guó)一站式人才培養(yǎng)平臺(tái)、一站式人才輸送平臺(tái)。2014年4月3日在美國(guó)成功上市,融資1
北大課工場(chǎng)是北京大學(xué)校辦產(chǎn)業(yè)為響應(yīng)國(guó)家深化產(chǎn)教融合/校企合作的政策,積極推進(jìn)“中國(guó)制造2025”,實(shí)現(xiàn)中華民族偉大復(fù)興的升級(jí)產(chǎn)業(yè)鏈。利用北京大學(xué)優(yōu)質(zhì)教育資源及背
博為峰,中國(guó)職業(yè)人才培訓(xùn)領(lǐng)域的先行者
曾工作于聯(lián)想擔(dān)任系統(tǒng)開(kāi)發(fā)工程師,曾在博彥科技股份有限公司擔(dān)任項(xiàng)目經(jīng)理從事移動(dòng)互聯(lián)網(wǎng)管理及研發(fā)工作,曾創(chuàng)辦藍(lán)懿科技有限責(zé)任公司從事總經(jīng)理職務(wù)負(fù)責(zé)iOS教學(xué)及管理工作。
浪潮集團(tuán)項(xiàng)目經(jīng)理。精通Java與.NET 技術(shù), 熟練的跨平臺(tái)面向?qū)ο箝_(kāi)發(fā)經(jīng)驗(yàn),技術(shù)功底深厚。 授課風(fēng)格 授課風(fēng)格清新自然、條理清晰、主次分明、重點(diǎn)難點(diǎn)突出、引人入勝。
精通HTML5和CSS3;Javascript及主流js庫(kù),具有快速界面開(kāi)發(fā)的能力,對(duì)瀏覽器兼容性、前端性能優(yōu)化等有深入理解。精通網(wǎng)頁(yè)制作和網(wǎng)頁(yè)游戲開(kāi)發(fā)。
具有10 年的Java 企業(yè)應(yīng)用開(kāi)發(fā)經(jīng)驗(yàn)。曾經(jīng)歷任德國(guó)Software AG 技術(shù)顧問(wèn),美國(guó)Dachieve 系統(tǒng)架構(gòu)師,美國(guó)AngelEngineers Inc. 系統(tǒng)架構(gòu)師。