接收到這樣的字符串,經過正則匹配到每組方括號而後進行替換html
var _str = i.content.replace(/\[.{1,3}\]/g, (str) => { //i.content爲遍歷出來的消息記錄 var index; Object.keys(faceCode).forEach((key, _index) => { //faceCode爲字符串與樣式對應的關係,也能夠經過參數去和後臺約定好,不用這樣查找 if (key === str) { index = _index; } }); if (index) { var html = `<img src="https://wx2.qq.com/zh_CN/htmledition/v2/images/spacer.gif" text="${str}" class="qq-emoji qq-emoji${index}"/>`; return html; } return str; });
<button id="btn">點我</button> <div id="div" style="border: 1px solid gray">點我2</div> <pre class="pre" style="position:absolute;width:800px;height:240px;background-color: #f5f5f5" contenteditable="true"> $('#btn').click((e) => { $('.pre')[0].focus(); }); $('#div').click((e) => { $('.pre')[0].focus(); })
enctype 有三種取值:編程
固然也能夠不用設置enctype爲multipart/form-data,即不經過表單生成的數據,而是手動取數據,用FormData合併成一個對象,進行發送canvas
最先的HTTP POST是不支持文件上傳的,給編程開發帶來不少問題。可是在1995年,ietf出臺了rfc1867,也就是《RFC 1867 -Form-based File Upload in HTML》,用以支持文件上傳。因此Content-Type的類型擴充了multipart/form-data用以支持向服務器發送二進制數據
<input type="file" id="test" /> var files = document.getElementById("test").files; for (var i in files) { if (files[i].type.indexOf('image') === -1) { xxx return; } if (files[i].size/(1024*1024) > 1) { xxx return; } }
$('#upload')[0].value = "";
var fileReader = new FileReader(); fileReader.onload = (e) => { document.getElementById('picPreview').src = e.target.result; }; var file = document.getElementById('#upload').files[0]; fileReader.readAsDataURL(file);
function createImg() { var scale = 0.15, video = $('#video')[0], canvas = document.createElement("canvas"), canvasFill = canvas.getContext('2d'); canvas.width = video.videoWidth * scale; canvas.height = video.videoHeight * scale; canvasFill.drawImage(video, 0, 0, canvas.width, canvas.height); return canvas.toDataURL("image/jpeg"); } $('#upload')[0].onchange = (e) => { var windowURL = window.URL || window.webkitURL; var videoURL = windowURL.createObjectURL(e.target.files[0]); $('#video').attr('src', videoURL); setTimeout(() => { //必定要加延時,不然圖片讀取不到 var imgSrc = createImg(); $('#img').attr('src', imgSrc); }, 500) }