-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathscan.html
More file actions
81 lines (74 loc) · 3.26 KB
/
Copy pathscan.html
File metadata and controls
81 lines (74 loc) · 3.26 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Barcode Scanner - Bootstrap 5</title>
<!-- Bootstrap CSS CDN -->
<link href="https://cdn.jsdelivr.net" rel="stylesheet" integrity="sha384-QWTKZyjpPEjISv5WaRU9OFeRpok6YctnYmDr5pNlyT2bRjXh0JMhjY6hW+ALEwIH" crossorigin="anonymous">
<!-- html5-qrcode library CDN -->
<script src="https://unpkg.com"></script>
<style>
/* Optional custom styling for the scanner area */
.scanner-container {
max-width: 500px;
margin: 20px auto;
border: 1px solid #ddd;
border-radius: 8px;
padding: 15px;
box-shadow: 0 4px 6px rgba(0,0,0,0.1);
}
#qr-reader {
width: 100%;
}
</style>
</head>
<body>
<div class="container mt-5">
<div class="row justify-content-center">
<div class="col-lg-6">
<div class="scanner-container">
<h4 class="text-center mb-3">Scan Badge Barcode</h4>
<!-- Placeholder for the scanner UI -->
<div id="qr-reader"></div>
<h5 class="mt-4">Scanned Result:</h5>
<div id="qr-result" class="alert alert-success mt-2" style="display: none;">
<span id="decoded-text"></span>
</div>
<div id="qr-error" class="alert alert-danger mt-2" style="display: none;">
<span>Error scanning. Please try again or ensure your browser has camera permission.</span>
</div>
</div>
</div>
</div>
</div>
<!-- Bootstrap JS CDN (optional, for some Bootstrap features like dropdowns) -->
<script src="https://cdn.jsdelivr.net" integrity="sha384-YvpcrYf0tY3lHB60NNkmXc5s9fDVZLESaAA55NDzOxhy9GkcIdslK1eN7N6jIeHz" crossorigin="anonymous"></script>
<!-- Custom JavaScript for scanning -->
<script>function onScanSuccess(decodedText, decodedResult) {
// Handle the scanned code as you like
console.log(`Code matched = ${decodedText}`, decodedResult);
document.getElementById('decoded-text').textContent = decodedText;
document.getElementById('qr-result').style.display = 'block';
document.getElementById('qr-error').style.display = 'none';
// Stop scanning after a successful scan
html5QrcodeScanner.clear();
}
function onScanError(errorMessage) {
// Handle scan errors or no QR code detected per frame
// console.warn(`Code scan error = ${errorMessage}`); // Use for debugging, can be chatty
}
var html5QrcodeScanner = new Html5QrcodeScanner(
"qr-reader",
{
fps: 10,
qrbox: {width: 250, height: 250}, // Define the scanning area
rememberLastUsedCamera: true,
supportedScanTypes: [Html5QrcodeScanType.SCAN_TYPE_CAMERA] // Only support camera scanning
},
/* verbose= */ false
);
// Render the scanner UI
html5QrcodeScanner.render(onScanSuccess, onScanError);</script>
</body>
</html>