Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <script>
- (function(){
- var productsCount = 0;
- var pageScroll = 0;
- var scrollStep = 50;
- function checkPage() {
- var productId = document.querySelector('span[class*="productSku"]');
- if (productId) {
- getTagsFromProductFeed([window.location.href]);
- window.adoric && adoric.trigger('pageview', {
- type: 'product',
- ids: productId.textContent
- });
- }
- var products = document.querySelector('[class*="item-card"]');
- if (products) {
- addTagsToCategories();
- }
- }
- function addTagsToCategories() {
- var pageData = getPageData();
- productsCount = pageData.length;
- getTagsFromProductFeed(pageData);
- }
- function getPageData() {
- var products = document.querySelectorAll('[class*="item-card"]');
- if (products[0]) {
- var productLinks = [];
- products.forEach(function(item) {
- var link = item.querySelector('a');
- if (link) {
- productLinks.push(link.href);
- }
- });
- return productLinks;
- }
- }
- function getTagsFromProductFeed(pageData) {
- fetch('https://us-east4-adoric-production.cloudfunctions.net/Support_aldo_add_tags2', {
- method: 'POST',
- body: JSON.stringify({ products: pageData })
- })
- .then(function(res) {return res.json()}).then(function(res) {
- if (res && !res.message) {
- if (window.tagsproductList) {
- var newList = window.tagsproductList.concat(res);
- window.tagsproductList = newList;
- } else {
- window.tagsproductList = res;
- }
- if (window.tagsproductList.length > 0) {
- adoric && adoric.trigger('addTags');
- }
- } else if (res && res.message) {
- console.info(res.message);
- } else {
- console.info('result error', res);
- }
- }).catch(function(error) {
- console.info(error);
- });
- }
- window.addEventListener('scroll', function() {
- if ((window.pageYOffset - pageScroll) > scrollStep) {
- pageScroll = window.pageYOffset;
- var pageData = getPageData();
- if (pageData && pageData.length > productsCount) {
- var firstIndex = productsCount;
- productsCount = pageData.length;
- var newPageData = pageData.splice(firstIndex, pageData.length - 1);
- getTagsFromProductFeed(newPageData);
- }
- }
- });
- if (document.readyState === 'loading') {
- document.addEventListener('DOMContentLoaded', checkPage);
- } else {
- checkPage();
- }
- })();
- </script>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement