NOTICE: By continued use of this site you understand and agree to the binding Terms of Service and Privacy Policy.
// ==UserScript== // @name BrickSeek Inline BarCode // @namespace https://openuserjs.org/users/vincentma128 // @version 0.3 // @description try to take over the world! // @author vincentma128 // @match https://brickseek.com/* // @require https://code.jquery.com/jquery-3.3.1.min.js // @grant none // @run-at document-end // @license MIT // ==/UserScript== (function () { 'use strict'; let url = location.href; let upc; if (/brickseek.com\/pricing-info/.test(url)) { // == price-info == let strongs = $(".bsapi-product-overview__meta strong"); let upc_parent = strongs[2].parentElement; let raw_text = upc_parent.textContent; upc = raw_text.split(":")[1].trim(); appendButton(upc_parent, upc); } else if (/brickseek.com\/.+-checker/.test(url)) { let strongs = $(".bsapi-product-overview__meta strong"); let upc_parent = strongs[2].parentElement; if (upc_parent.childNodes.length > 3) { upc = upc_parent.childNodes[2].nodeValue; if (upc) { upc = upc.trim(); } appendButton(upc_parent, upc); } } function appendButton(dom, upc) { if (isValidUpc(upc)) { $(dom).append(createButton()); } $('#inlineViewBarcodeButton').click(function () { $('#inlineViewBarcodeButton').replaceWith(createImageTag(upc)); }); } function createButton() { return `<button id="inlineViewBarcodeButton" style="background-color:yellow">View BarCode</button>`; } function isValidUpc(upc) { return /^\d+$/.test(upc); } function createImageTag(upc) { return `<img referrerpolicy="no-referrer" style="width:10rem;" src="http://barcode.live/barcode.php?upc=${upc}"/>`; } })();