jsQR兼容手机端扫二维码demo
时间: 2023-10-13 10:06:03 浏览: 57
您可以使用jsQR库来实现在手机端扫描二维码的功能。以下是一个简单的示例代码:
```html
<!DOCTYPE html>
<html>
<head>
<title>手机端扫描二维码示例</title>
</head>
<body>
<video id="qr-video" width="100%" height="auto"></video>
<canvas id="qr-canvas" style="display: none;"></canvas>
<script src="path/to/jsQR.js"></script>
<script>
// 获取视频元素和画布元素
const video = document.getElementById('qr-video');
const canvas = document.getElementById('qr-canvas');
const canvasContext = canvas.getContext('2d');
// 打开摄像头
navigator.mediaDevices.getUserMedia({ video: true })
.then(stream => {
video.srcObject = stream;
// 在视频播放前检测二维码
video.addEventListener('loadedmetadata', () => {
canvas.width = video.videoWidth;
canvas.height = video.videoHeight;
setInterval(() => {
canvasContext.drawImage(video, 0, 0, canvas.width, canvas.height);
const imageData = canvasContext.getImageData(0, 0, canvas.width, canvas.height);
const code = jsQR(imageData.data, imageData.width, imageData.height);
if (code) {
console.log('扫描到的二维码内容:', code.data);
}
}, 1000); // 每隔1秒检测一次
});
})
.catch(error => {
console.error('摄像头打开失败:', error);
});
</script>
</body>
</html>
```
请确保将上述代码中的`path/to/jsQR.js`替换为实际的jsQR库文件路径。该代码会打开手机摄像头,实时检测二维码并输出扫描到的内容。