1. 程式人生 > 其它 >JS生成二維碼以及點選下載二維碼

JS生成二維碼以及點選下載二維碼

JS生成二維碼

  • 效果
  • 掃描二維碼可訪問指定連結或當前網站連結,內容可以自己更改
  • "複製連結",點選按鈕複製當前網站連結
  • 如何獲取當前網站連結

原始碼

textarea{
opacity: 0;
	/*display: none;*/
	z-index: -999;
}
button{
	margin-left: -90px;
	border: 1.5px solid #000;
	padding: 3px 8px;
	font-size: 24px;
}
<div class="shareBox">
	<span id="qrcode" onclick="download()"></span>
	<div id="qrcodeWord" onclick="copyHref()" onclick="copyHref()">
	   <textarea id="inputTextarea"></textarea>
	   <button>複製連結</button>
	</div>
</div>
//生成二維碼
qrcode = new QRCode(document.getElementById("qrcode"), {
	text: document.location.href,//連結地址
	width : 300,//二維碼寬高
	height : 300,
	colorDark : "#000000",//二維碼前景色
    colorLight : "#fff",//二維碼背景色
    correctLevel : QRCode.CorrectLevel.H
});
  • 生成當前網站連結的二維碼
    • text: document.location.href
    • document.location.href就是獲取當前網站的連結
  • 當然也可以自己更改二維碼
//點選二維碼下載圖片
function download(){
	var data = $("canvas")[0].toDataURL().replace("image/png", "image/octet-stream;");//獲取二維碼值,並修改響應頭部。   
	var filename='blog-'+document.title+'.png';//儲存的圖片名稱和格式,canvas預設使用的png格式。這個格式效果最好。
	var save_link = document.createElementNS('http://www.w3.org/1999/xhtml', 'a');
	save_link.href = data;
	save_link.download = filename;
	var event = document.createEvent('MouseEvents');
	event.initMouseEvent('click', true, false, window, 0, 0, 0, 0, 0, false, false, false, false, 0, null);
	save_link.dispatchEvent(event);
}
//複製當前網站連結
 function copyHref(){ 
   var input = document.getElementById("inputTextarea");
   input.value = document.location.href; // 修改文字框的內容
   input.select(); // 選中文字
   document.execCommand("copy"); // 執行瀏覽器複製命令
   alert("複製成功\n(點選下載二維碼或使用手機瀏覽器設定成桌面版顯示可以轉發二維碼)");
}
<script src="jquery.min.js"></script>
<script src="qrcode.min.js"></script>

❤️有則改之,無則加勉。如有錯誤and建議聯絡QQ:2602629646
❤️本文來自作者:MrFlySand,轉載請註明原文連結:https://www.cnblogs.com/MrFlySand/p/15014751.html

❤️【推薦】計基練習題