This commit is contained in:
KANE LAZENI 2026-02-08 04:28:52 +00:00
parent e2a9b7f4bd
commit 245c1ae7ec

View File

@ -13,109 +13,45 @@
</div> </div>
<?php endif; ?> <?php endif; ?>
<div>
<h1>Welcome to NFC Tools KBC - Test Page</h1>
<p>Launch NFC Tools KBC, focus this web page then scan a tag. Current status:</p>
<p id="kbc-target">Waiting for a tag</p>
</div>
<script type="text/javascript"> <script type="text/javascript">
/* document.addEventListener('DOMContentLoaded', function () {
var NFCToolsKBC = (function () { const input = document.getElementById('donneesCarte');
const form = document.getElementById('frmrechercheparcarte');
var instance = null; // Singleton instance let buffer = '';
var callback = null; // Callback function let timer = null;
var isAlreadyRegister = false; // Is event already register ?
function create () { // Capture globale (lecteur NFC = clavier)
function registerCallback(callback) { document.addEventListener('keydown', function (e) {
// Check if callback param is a function // ENTER → soumission immédiate
if (typeof callback == 'function') { if (e.key === 'Enter') {
this.callback = callback; // Then, save the callback reference if (buffer.length > 0) {
input.value = buffer;
// Register the event if is not already registered buffer = '';
if(this.callback != null && !isAlreadyRegister) { form.submit();
document.addEventListener('paste', (event) => { }
this.callback((event.clipboardData || window.clipboardData).getData('text')); // Call the callback function e.preventDefault();
event.preventDefault(); // To block the default event handling return;
});
isAlreadyRegister = true; // Event is now registered
} }
} else {
// You must pass a function as a callback
console.log("Error: Unable to register callback");
}
}
return {
registerCallback: registerCallback
};
}
// Get instance // Ignorer touches spéciales
return { if (e.key.length > 1) return;
getInstance: function() {
if(instance == null) {
instance = create();
}
return instance; // Return singleton
}
};
})();
// Wait for the HTML document has been completely loaded and parsed // Accumuler caractères scannés
document.addEventListener("DOMContentLoaded", function(event) { buffer += e.key;
// Here we register a callback function to get the NFC tag's content // Reset après 300 ms d'inactivité (sécurité)
alert("NFCToolsKBC"); clearTimeout(timer);
NFCToolsKBC.getInstance().registerCallback(function(content){ timer = setTimeout(() => {
// Do what you want here with the content if (buffer.length > 0) {
input.value = buffer;
// For the demo, we show the content in a HTML element buffer = '';
var target = document.getElementById("kbc-target"); form.submit();
target.innerHTML = "Content detected: " + content; }
}); }, 300);
});
}); });
*/
document.addEventListener('DOMContentLoaded', function () {
const input = document.getElementById('donneesCarte');
const form = document.getElementById('frmrechercheparcarte');
let buffer = '';
let timer = null;
// Capture globale (lecteur NFC = clavier)
document.addEventListener('keydown', function (e) {
// ENTER → soumission immédiate
if (e.key === 'Enter') {
if (buffer.length > 0) {
input.value = buffer;
buffer = '';
form.submit();
}
e.preventDefault();
return;
}
// Ignorer touches spéciales
if (e.key.length > 1) return;
// Accumuler caractères scannés
buffer += e.key;
// Reset après 300 ms d'inactivité (sécurité)
clearTimeout(timer);
timer = setTimeout(() => {
if (buffer.length > 0) {
input.value = buffer;
buffer = '';
form.submit();
}
}, 300);
});
});
</script> </script>