Захват отсканированного штрих-кода с любой веб-страницы в веб-приложении
В унаследованном мной веб-приложении есть некоторый jquery-код, который захватывает сканирование штрих-кода (простой 1-D штрих-код, как в фитнес-клубах и продуктовых магазинах - никаких QR-кодов, ничего экзотического и т. Д.). Но способ, которым это реализовано, требует модального окна, чтобы придумать спиннер, затем вы сканируете, и это работает. Нашим клиентам это не нравится. Они хотят иметь возможность сканировать штрих-код с любой веб-страницы в приложении, и им не нужно переходить на определенную страницу и открывать модальное окно, блокирующее все остальное, перед сканированием.
Я с интересом посмотрел на это: https://github.com/julien-maurel/jQuery-Scanner-Detection (я просто не могу заставить его работать.) Я попробовал это на веб-странице:
<script type="text/javascript" src="Scripts/barcode/jquery.scannerdetection.js"></script>
<script>
$(window).bind('scannerDetectionComplete', function (e, data) {
alert(e);
alert(data);
})
</script>
Я также пытался $(document).bind(...)
на месте
Фактические исходные документы просто говорят, чтобы сделать $(selector).scannerDetection();
Они не дают примеров реального использования.
Мне действительно все равно, использую ли я этот плагин jquery, какой-то другой плагин jquery, пользовательский jquery или какой-нибудь необработанный фрагмент кода javascript - мне просто нужно что-то, что будет обнаруживать сканирование штрих-кода с любой веб-страницы, не прибегая к модальному слушателю. Если кто-то знает, как заставить работать плагин jQuery-Scanner-Detection (упомянутый выше), я бы тоже хотел попробовать это. Спасибо.
2 ответа
Документ готов;)
jQuery(document).ready(function($) {
$(window).scannerDetection();
$(window).bind('scannerDetectionComplete',function(e,data){
alert('complete '+data.string);
})
.bind('scannerDetectionError',function(e,data){
console.log('detection error '+data.string);
})
.bind('scannerDetectionReceive',function(e,data){
console.log(data);
})
$(window).scannerDetection('success');
});
Вот как я его использую, и он отлично работает:
$(selector).scannerDetection(function(data) {
onComplete:
//whatever you want
});
Я не думаю, что необходимо привязывать его к вашему окну или документу, вы можете напрямую работать с вашим селектором.