<script>
(function() {
console.log("Script initialized");
function addInquireButtons() {
console.log("Adding Inquire buttons...");
var wrappers = document.querySelectorAll('.sqs-add-to-cart-button-wrapper');
console.log("Found " + wrappers.length + " wrappers");
wrappers.forEach(function(wrapper) {
if (!wrapper.querySelector('.second-button')) {
var inquireButton = document.createElement('a');
inquireButton.className = 'btn btn--border theme-btn--primary-inverse sqs-button-element--primary second-button';
inquireButton.href = '#wm-popup=/contact#block-02c12286a51774064037';
inquireButton.textContent = 'Inquire';
wrapper.appendChild(inquireButton);
console.log("Inquire button added to wrapper");
}
});
}
function setupFormFieldAutofill() {
console.log("Setting up form field autofill");
document.addEventListener('wmPopup:afterOpenPopup', function(event) {
console.log("wmPopup:afterOpenPopup event fired:", event.detail);
var url = event.detail && event.detail.url ? event.detail.url : '';
if (url.includes('/contact')) {
console.log("Contact popup detected");
setTimeout(function() {
const productTitleField = document.querySelector('input#text-1abb1f2f-b802-45bc-b1dc-eaf7752e799c-field');
if (productTitleField) {
console.log("Found product title field");
const pageTitle = document.title;
console.log("Page title:", pageTitle);
const triggerInputChange = (inputElement, value) => {
const nativeInputValueSetter = Object.getOwnPropertyDescriptor(
window.HTMLInputElement.prototype, "value"
).set;
nativeInputValueSetter.call(inputElement, value);
const inputEvent = new Event("input", { bubbles: true });
inputElement.dispatchEvent(inputEvent);
};
triggerInputChange(productTitleField, pageTitle);
console.log("Set product title field value to:", pageTitle);
const form = productTitleField.closest('form');
if (form) {
form.addEventListener('input', () => {
setTimeout(() => {
if (!productTitleField.value) {
triggerInputChange(productTitleField, pageTitle);
}
}, 10);
});
form.addEventListener('submit', () => {
if (!productTitleField.value) {
triggerInputChange(productTitleField, pageTitle);
}
});
console.log("Added form event listeners");
}
} else {
console.log("Product title field not found");
}
}, 800);
}
});
}
function initializeAfterSectionLoader() {
console.log("Waiting for Section Loader...");
document.addEventListener('wmSectionLoader:afterInit', function() {
console.log("Section Loader completed - initializing buttons");
addInquireButtons();
});
document.addEventListener('wmSectionLoader:ready', function() {
console.log("Section Loader ready - initializing buttons");
addInquireButtons();
});
// Run immediately too
addInquireButtons();
}
setupFormFieldAutofill();
if (document.readyState === 'loading') {
document.addEventListener('DOMContentLoaded', initializeAfterSectionLoader);
} else {
initializeAfterSectionLoader();
}
window.addEventListener('load', function() {
console.log("Window loaded - adding buttons as fallback");
setTimeout(addInquireButtons, 1000);
});
})();
</script>
Update new code – 31-01-2026
Header
<!-- Not Linked Page to Product Detail --> <script src="https://cdn.jsdelivr.net/gh/willmyerscode/toolkit@1/index.min.js"></script> <link href="https://cdn.jsdelivr.net/gh/willmyerscode/section-loader@3/section-loader.min.css" rel="stylesheet"> <!-- Enquire Button to Form Popup --> <link href="https://cdn.jsdelivr.net/gh/willmyerscode/popup@v6/popup.min.css" rel="stylesheet"> <!-- END Enquire Button to Form Popup -->
Footer (Code này get thẻ <title>)
<script src="https://cdn.jsdelivr.net/gh/willmyerscode/section-loader@3/section-loader.min.js"></script>
<script src="https://cdn.jsdelivr.net/gh/willmyerscode/popup@v6/popup.min.js"></script>
<!-- Enquire Button to Form Popup -->
<script src="https://cdn.jsdelivr.net/gh/willmyerscode/popup@v6/popup.min.js"></script>
<script>
(function() {
'use strict';
function ensureFormDefinitions() {
const loader = window.websiteComponents?.loader;
if (loader) {
loader.importMap = loader.importMap || {};
loader.importMap['website.components.form.visitor'] =
'https://definitions.sqspcdn.com/website-component-definition/static-assets/website.components.form/bcc7f8cc-f48a-4382-8ac1-0e23afb7c292_310/website.components.form.visitor.js';
loader.importMap['website.components.form.handlers'] =
'https://definitions.sqspcdn.com/website-component-definition/static-assets/website.components.form/bcc7f8cc-f48a-4382-8ac1-0e23afb7c292_310/website.components.form.handlers.js';
return true;
}
return false;
}
if (!ensureFormDefinitions()) {
const checkInterval = setInterval(function() {
if (ensureFormDefinitions()) {
clearInterval(checkInterval);
}
}, 50);
setTimeout(function() {
clearInterval(checkInterval);
}, 5000);
}
document.addEventListener('DOMContentLoaded', ensureFormDefinitions);
})();
</script>
<script>
(function() {
'use strict';
document.addEventListener('wmPopup:afterOpenPopup', function(event) {
const popupUrl = event.detail?.url;
if (popupUrl === '/enquire-form') {
setTimeout(function() {
const formBlock = document.querySelector('.wm-popup-content [data-block-type="1337"]');
if (formBlock) {
const loader = window.websiteComponents?.loader;
if (loader) {
loader.importMap = loader.importMap || {};
loader.importMap['website.components.form.visitor'] =
'https://definitions.sqspcdn.com/website-component-definition/static-assets/website.components.form/bcc7f8cc-f48a-4382-8ac1-0e23afb7c292_310/website.components.form.visitor.js';
loader.importMap['website.components.form.handlers'] =
'https://definitions.sqspcdn.com/website-component-definition/static-assets/website.components.form/bcc7f8cc-f48a-4382-8ac1-0e23afb7c292_310/website.components.form.handlers.js';
}
if (window.Squarespace && window.Y) {
try {
const formNode = window.Y.one(formBlock);
if (window.Squarespace.initializeForm) {
window.Squarespace.initializeForm(window.Y, formNode);
}
} catch (error) {}
}
const productTitle = document.title;
const productURL = window.location.href;
let attempts = 0;
const maxAttempts = 15;
function tryPrefill() {
attempts++;
const productNameField = document.querySelector('.wm-popup-content input[placeholder="Product Name"]');
const productURLField = document.querySelector('.wm-popup-content input[placeholder="Product URL"]');
if (productNameField && productURLField) {
const setValue = (field, val) => {
field.value = val;
try {
const setter = Object.getOwnPropertyDescriptor(
window.HTMLInputElement.prototype,
"value"
).set;
setter.call(field, val);
} catch (e) {}
field.dispatchEvent(new Event('input', { bubbles: true }));
field.dispatchEvent(new Event('change', { bubbles: true }));
field.dispatchEvent(new Event('blur', { bubbles: true }));
const tracker = field._valueTracker;
if (tracker) {
tracker.setValue('');
}
field.dispatchEvent(new Event('input', { bubbles: true }));
};
setValue(productNameField, productTitle);
setValue(productURLField, productURL);
setTimeout(function() {
if (productNameField.value !== productTitle) {
setValue(productNameField, productTitle);
}
if (productURLField.value !== productURL) {
setValue(productURLField, productURL);
}
}, 150);
const form = productNameField.closest('form');
if (form && !form.dataset.prefillMonitoring) {
form.dataset.prefillMonitoring = 'true';
form.addEventListener('input', function() {
setTimeout(function() {
if (!productNameField.value) {
setValue(productNameField, productTitle);
}
if (!productURLField.value) {
setValue(productURLField, productURL);
}
}, 10);
}, true);
form.addEventListener('submit', function() {
if (!productNameField.value) {
setValue(productNameField, productTitle);
}
if (!productURLField.value) {
setValue(productURLField, productURL);
}
}, true);
}
} else {
if (attempts < maxAttempts) {
setTimeout(tryPrefill, 400);
}
}
}
setTimeout(tryPrefill, 1000);
}
}, 300);
}
});
})();
</script>
<script>
(function() {
'use strict';
function addInquireButtons() {
var containers = document.querySelectorAll('.tag-no-cart .product-add-to-cart');
containers.forEach(function(container) {
if (container.querySelector('.second-button')) {
return;
}
var inquireButton = document.createElement('a');
inquireButton.className = 'btn btn--border theme-btn--primary-inverse sqs-button-element--primary second-button';
inquireButton.href = '#wm-popup=/enquire-form#block-yui_3_17_2_1_1769844948133_494';
inquireButton.textContent = 'Inquire';
container.appendChild(inquireButton);
});
}
addInquireButtons();
window.addEventListener("load", function() {
addInquireButtons();
});
if (window.MutationObserver) {
var observer = new MutationObserver(function(mutations) {
var shouldCheck = false;
mutations.forEach(function(mutation) {
mutation.addedNodes.forEach(function(node) {
if (node.nodeType === 1 && node.querySelector) {
if (node.querySelector('.product-add-to-cart') ||
node.classList.contains('product-add-to-cart')) {
shouldCheck = true;
}
}
});
});
if (shouldCheck) {
addInquireButtons();
}
});
observer.observe(document.body, {
childList: true,
subtree: true
});
}
})();
</script>
<!-- END Enquire Button to Form Popup -->
Code này get h1.product-title
<script src="https://cdn.jsdelivr.net/gh/willmyerscode/section-loader@3/section-loader.min.js"></script>
<script src="https://cdn.jsdelivr.net/gh/willmyerscode/popup@v6/popup.min.js"></script>
<script>
(function() {
'use strict';
function ensureFormDefinitions() {
const loader = window.websiteComponents?.loader;
if (loader) {
loader.importMap = loader.importMap || {};
loader.importMap['website.components.form.visitor'] =
'https://definitions.sqspcdn.com/website-component-definition/static-assets/website.components.form/bcc7f8cc-f48a-4382-8ac1-0e23afb7c292_310/website.components.form.visitor.js';
loader.importMap['website.components.form.handlers'] =
'https://definitions.sqspcdn.com/website-component-definition/static-assets/website.components.form/bcc7f8cc-f48a-4382-8ac1-0e23afb7c292_310/website.components.form.handlers.js';
return true;
}
return false;
}
if (!ensureFormDefinitions()) {
const checkInterval = setInterval(function() {
if (ensureFormDefinitions()) {
clearInterval(checkInterval);
}
}, 50);
setTimeout(function() {
clearInterval(checkInterval);
}, 5000);
}
document.addEventListener('DOMContentLoaded', ensureFormDefinitions);
})();
</script>
<script>
(function() {
'use strict';
document.addEventListener('wmPopup:afterOpenPopup', function(event) {
const popupUrl = event.detail?.url;
if (popupUrl === '/enquire-form') {
setTimeout(function() {
const formBlock = document.querySelector('.wm-popup-content [data-block-type="1337"]');
if (formBlock) {
const loader = window.websiteComponents?.loader;
if (loader) {
loader.importMap = loader.importMap || {};
loader.importMap['website.components.form.visitor'] =
'https://definitions.sqspcdn.com/website-component-definition/static-assets/website.components.form/bcc7f8cc-f48a-4382-8ac1-0e23afb7c292_310/website.components.form.visitor.js';
loader.importMap['website.components.form.handlers'] =
'https://definitions.sqspcdn.com/website-component-definition/static-assets/website.components.form/bcc7f8cc-f48a-4382-8ac1-0e23afb7c292_310/website.components.form.handlers.js';
}
if (window.Squarespace && window.Y) {
try {
const formNode = window.Y.one(formBlock);
if (window.Squarespace.initializeForm) {
window.Squarespace.initializeForm(window.Y, formNode);
}
} catch (error) {}
}
const productTitleElement = document.querySelector('h1.product-title');
const productTitle = productTitleElement ? productTitleElement.textContent.trim() : document.title;
const productURL = window.location.href;
let attempts = 0;
const maxAttempts = 15;
function tryPrefill() {
attempts++;
const productNameField = document.querySelector('.wm-popup-content input[placeholder="Product Name"]');
const productURLField = document.querySelector('.wm-popup-content input[placeholder="Product URL"]');
if (productNameField && productURLField) {
const setValue = (field, val) => {
field.value = val;
try {
const setter = Object.getOwnPropertyDescriptor(
window.HTMLInputElement.prototype,
"value"
).set;
setter.call(field, val);
} catch (e) {}
field.dispatchEvent(new Event('input', { bubbles: true }));
field.dispatchEvent(new Event('change', { bubbles: true }));
field.dispatchEvent(new Event('blur', { bubbles: true }));
const tracker = field._valueTracker;
if (tracker) {
tracker.setValue('');
}
field.dispatchEvent(new Event('input', { bubbles: true }));
};
setValue(productNameField, productTitle);
setValue(productURLField, productURL);
setTimeout(function() {
if (productNameField.value !== productTitle) {
setValue(productNameField, productTitle);
}
if (productURLField.value !== productURL) {
setValue(productURLField, productURL);
}
}, 150);
const form = productNameField.closest('form');
if (form && !form.dataset.prefillMonitoring) {
form.dataset.prefillMonitoring = 'true';
form.addEventListener('input', function() {
setTimeout(function() {
if (!productNameField.value) {
setValue(productNameField, productTitle);
}
if (!productURLField.value) {
setValue(productURLField, productURL);
}
}, 10);
}, true);
form.addEventListener('submit', function() {
if (!productNameField.value) {
setValue(productNameField, productTitle);
}
if (!productURLField.value) {
setValue(productURLField, productURL);
}
}, true);
}
} else {
if (attempts < maxAttempts) {
setTimeout(tryPrefill, 400);
}
}
}
setTimeout(tryPrefill, 1000);
}
}, 300);
}
});
})();
</script>
<script>
(function() {
'use strict';
function addInquireButtons() {
var containers = document.querySelectorAll('.tag-no-cart .product-add-to-cart');
containers.forEach(function(container) {
if (container.querySelector('.second-button')) {
return;
}
var inquireButton = document.createElement('a');
inquireButton.className = 'btn btn--border theme-btn--primary-inverse sqs-button-element--primary second-button';
inquireButton.href = '#wm-popup=/enquire-form#block-yui_3_17_2_1_1769844948133_494';
inquireButton.textContent = 'Inquire';
container.appendChild(inquireButton);
});
}
addInquireButtons();
window.addEventListener("load", function() {
addInquireButtons();
});
if (window.MutationObserver) {
var observer = new MutationObserver(function(mutations) {
var shouldCheck = false;
mutations.forEach(function(mutation) {
mutation.addedNodes.forEach(function(node) {
if (node.nodeType === 1 && node.querySelector) {
if (node.querySelector('.product-add-to-cart') ||
node.classList.contains('product-add-to-cart')) {
shouldCheck = true;
}
}
});
});
if (shouldCheck) {
addInquireButtons();
}
});
observer.observe(document.body, {
childList: true,
subtree: true
});
}
})();
</script>