{"id":2133,"date":"2026-03-24T17:28:07","date_gmt":"2026-03-24T14:28:07","guid":{"rendered":"https:\/\/dreampix.work\/?page_id=2133"},"modified":"2026-03-24T17:33:24","modified_gmt":"2026-03-24T14:33:24","slug":"qr-scanner","status":"publish","type":"page","link":"https:\/\/dreampix.work\/ar-jo\/qr-scanner\/","title":{"rendered":"QR SCANNER"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"2133\" class=\"elementor elementor-2133\">\n\t\t\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-76bd3be elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"76bd3be\" data-element_type=\"section\" data-e-type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-aef43d3\" data-id=\"aef43d3\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-0685756 elementor-widget elementor-widget-html\" data-id=\"0685756\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<div id=\"scanner-container\" style=\"direction: rtl; font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif; max-width: 500px; margin: auto; text-align: center; background: #fff; padding: 20px; border-radius: 20px; box-shadow: 0 10px 30px rgba(0,0,0,0.1);\">\r\n    \r\n    <h2 style=\"color: #333; margin-bottom: 5px;\">\ud83d\udd0d \u0645\u0627\u0633\u062d \u0645\u0646\u062a\u062c\u0627\u062a DreamPix<\/h2>\r\n    <p style=\"color: #777; font-size: 0.9em;\">\u0648\u062c\u0647 \u0627\u0644\u0643\u0627\u0645\u064a\u0631\u0627 \u0644\u0631\u0645\u0632 \u0627\u0644\u0645\u0646\u062a\u062c \u0644\u0631\u0624\u064a\u0629 \u0627\u0644\u062a\u0641\u0627\u0635\u064a\u0644<\/p>\r\n\r\n    <div id=\"reader\" style=\"width: 100%; border-radius: 15px; overflow: hidden; border: 3px solid #007cba; background: #000;\"><\/div>\r\n\r\n    <div id=\"product-popup\" style=\"display:none; position: fixed; top: 50%; left: 50%; transform: translate(-50%, -50%); width: 85%; max-width: 350px; background: white; z-index: 1000; padding: 20px; border-radius: 20px; box-shadow: 0 0 50px rgba(0,0,0,0.5); text-align: center;\">\r\n        <h3 id=\"p-name\" style=\"color: #27ae60; margin-top: 0;\"><\/h3>\r\n        <img decoding=\"async\" id=\"p-image\" src=\"\" style=\"width: 100%; border-radius: 10px; margin: 15px 0; border: 1px solid #eee;\">\r\n        <p id=\"p-price\" style=\"font-weight: bold; color: #333; font-size: 1.1em;\"><\/p>\r\n        <button onclick=\"closePopup()\" style=\"width: 100%; padding: 12px; background: #007cba; color: white; border: none; border-radius: 10px; cursor: pointer; font-weight: bold;\">\u0645\u0633\u062d \u0642\u0637\u0639\u0629 \u0623\u062e\u0631\u0649<\/button>\r\n    <\/div>\r\n    \r\n    <div id=\"overlay\" style=\"display:none; position: fixed; top: 0; left: 0; width: 100%; height: 100%; background: rgba(0,0,0,0.7); z-index: 999;\"><\/div>\r\n\r\n<\/div>\r\n\r\n<script src=\"https:\/\/unpkg.com\/html5-qrcode\"><\/script>\r\n\r\n<script>\r\nlet html5QrcodeScanner;\r\n\r\nfunction onScanSuccess(decodedText, decodedResult) {\r\n    \/\/ \u0625\u064a\u0642\u0627\u0641 \u0627\u0644\u0645\u0627\u0633\u062d \u0645\u0624\u0642\u062a\u0627\u064b\r\n    html5QrcodeScanner.clear();\r\n\r\n    \/\/ \u062c\u0644\u0628 \u0628\u064a\u0627\u0646\u0627\u062a \u0627\u0644\u0645\u0646\u062a\u062c \u0645\u0646 \u0648\u0648\u0631\u062f\u0628\u0631\u064a\u0633 \u0628\u0627\u0633\u062a\u062e\u062f\u0627\u0645 \u0627\u0644\u0640 API \u0627\u0644\u062e\u0627\u0635 \u0628\u0647\r\n    \/\/ \u0646\u0641\u062a\u0631\u0636 \u0623\u0646 \u0627\u0644\u0640 QR \u064a\u062d\u062a\u0648\u064a \u0639\u0644\u0649 \u0631\u0627\u0628\u0637 \u0627\u0644\u0645\u0646\u062a\u062c \u0627\u0644\u0643\u0627\u0645\u0644\r\n    let productUrl = decodedText;\r\n    \r\n    \/\/ \u0627\u0633\u062a\u062e\u0631\u0627\u062c \u0627\u0644\u0640 \"Slug\" \u0623\u0648 \u0627\u0644\u0645\u0639\u0631\u0641 \u0645\u0646 \u0627\u0644\u0631\u0627\u0628\u0637 (\u062a\u062d\u062a\u0627\u062c \u0648\u0648\u0631\u062f\u0628\u0631\u064a\u0633 REST API)\r\n    \/\/ \u0644\u062a\u0633\u0647\u064a\u0644 \u0627\u0644\u0623\u0645\u0631\u060c \u0633\u0646\u0642\u0648\u0645 \u0628\u062c\u0644\u0628 \u0645\u062d\u062a\u0648\u0649 \u0627\u0644\u0635\u0641\u062d\u0629 \u0648\u0639\u0631\u0636 \u0627\u0644\u0635\u0648\u0631\u0629 \u0648\u0627\u0644\u0627\u0633\u0645\r\n    fetch(productUrl)\r\n    .then(response => response.text())\r\n    .then(html => {\r\n        let parser = new DOMParser();\r\n        let doc = parser.parseFromString(html, 'text\/html');\r\n        \r\n        \/\/ \u0645\u062d\u0627\u0648\u0644\u0629 \u062c\u0644\u0628 \u0627\u0644\u0627\u0633\u0645 \u0648\u0627\u0644\u0635\u0648\u0631\u0629 \u0645\u0646 \u0648\u0633\u0648\u0645 \u0627\u0644\u0640 Open Graph (\u062a\u0643\u0648\u0646 \u0645\u0648\u062c\u0648\u062f\u0629 \u0641\u064a \u0623\u063a\u0644\u0628 \u0642\u0648\u0627\u0644\u0628 \u0648\u0648\u0631\u062f\u0628\u0631\u064a\u0633)\r\n        let name = doc.querySelector('meta[property=\"og:title\"]')?.content || doc.querySelector('h1')?.innerText;\r\n        let image = doc.querySelector('meta[property=\"og:image\"]')?.content || doc.querySelector('.wp-post-image')?.src;\r\n        let price = doc.querySelector('.woocommerce-Price-amount')?.innerText || \"\";\r\n\r\n        showPopup(name, image, price);\r\n    })\r\n    .catch(err => {\r\n        alert(\"\u0639\u0630\u0631\u0627\u064b\u060c \u0644\u0645 \u0646\u062a\u0645\u0643\u0646 \u0645\u0646 \u062c\u0644\u0628 \u0628\u064a\u0627\u0646\u0627\u062a \u0627\u0644\u0645\u0646\u062a\u062c. \u062a\u0623\u0643\u062f \u0623\u0646 \u0627\u0644\u0640 QR \u064a\u062e\u0635 \u0645\u0648\u0642\u0639\u0646\u0627.\");\r\n        startScanner();\r\n    });\r\n}\r\n\r\nfunction showPopup(name, img, price) {\r\n    document.getElementById('p-name').innerText = name;\r\n    document.getElementById('p-image').src = img;\r\n    document.getElementById('p-price').innerText = price ? \"\u0627\u0644\u0633\u0639\u0631: \" + price : \"\";\r\n    document.getElementById('product-popup').style.display = 'block';\r\n    document.getElementById('overlay').style.display = 'block';\r\n}\r\n\r\nfunction closePopup() {\r\n    document.getElementById('product-popup').style.display = 'none';\r\n    document.getElementById('overlay').style.display = 'none';\r\n    startScanner(); \/\/ \u0625\u0639\u0627\u062f\u0629 \u062a\u0634\u063a\u064a\u0644 \u0627\u0644\u0643\u0627\u0645\u064a\u0631\u0627\r\n}\r\n\r\nfunction startScanner() {\r\n    html5QrcodeScanner = new Html5QrcodeScanner(\"reader\", { fps: 10, qrbox: 250 });\r\n    html5QrcodeScanner.render(onScanSuccess);\r\n}\r\n\r\n\/\/ \u062a\u0634\u063a\u064a\u0644 \u0627\u0644\u0645\u0627\u0633\u062d \u0639\u0646\u062f \u062a\u062d\u0645\u064a\u0644 \u0627\u0644\u0635\u0641\u062d\u0629\r\nwindow.onload = startScanner;\r\n<\/script>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>\ud83d\udd0d \u0645\u0627\u0633\u062d \u0645\u0646\u062a\u062c\u0627\u062a DreamPix \u0648\u062c\u0647 \u0627\u0644\u0643\u0627\u0645\u064a\u0631\u0627 \u0644\u0631\u0645\u0632 \u0627\u0644\u0645\u0646\u062a\u062c \u0644\u0631\u0624\u064a\u0629 \u0627\u0644\u062a\u0641\u0627\u0635\u064a\u0644 \u0645\u0633\u062d \u0642\u0637\u0639\u0629 \u0623\u062e\u0631\u0649<\/p>\n","protected":false},"author":8,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"inline_featured_image":false,"footnotes":""},"class_list":["post-2133","page","type-page","status-publish","hentry"],"jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/dreampix.work\/ar-jo\/wp-json\/wp\/v2\/pages\/2133","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/dreampix.work\/ar-jo\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/dreampix.work\/ar-jo\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/dreampix.work\/ar-jo\/wp-json\/wp\/v2\/users\/8"}],"replies":[{"embeddable":true,"href":"https:\/\/dreampix.work\/ar-jo\/wp-json\/wp\/v2\/comments?post=2133"}],"version-history":[{"count":4,"href":"https:\/\/dreampix.work\/ar-jo\/wp-json\/wp\/v2\/pages\/2133\/revisions"}],"predecessor-version":[{"id":2139,"href":"https:\/\/dreampix.work\/ar-jo\/wp-json\/wp\/v2\/pages\/2133\/revisions\/2139"}],"wp:attachment":[{"href":"https:\/\/dreampix.work\/ar-jo\/wp-json\/wp\/v2\/media?parent=2133"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}