// ==UserScript== // @namespace http://www.alibaba.com // @author Lepturus // @version 0.0.4 // @name 阿里巴巴国际站产品辅助脚本 // @icon http://is.alicdn.com/favicon.ico // @description 1. 添加【零效果产品页】复制及数据查看产品按钮 2. 添加【产品运营工作台页】产品编辑及数据查看按钮 3. 添加【产品分析页】编辑及数据查看按钮 4. 添加【产品详情页】编辑及数据查看按钮,修改图片链接为原图,添加显示产品关键词,添加视频链接与封面链接 5. 添加【图片银行页】直接下载原图按钮 6. 添加【关键词指数页】搜索按钮 7. 添加【产品关键词搜索页】显示公司名按钮(可能有BUG) 8. 显示阿里巴巴标签页名称 9. 【产品编辑页】增强 // @match *.alibaba.com/* // @grant GM_addStyle // @updateUR https://greasyfork.org/zh-CN/scripts/430029 // @license MIT // @downloadURL none // ==/UserScript== ////********************************************** //// 1. 添加【零效果产品页】复制及数据查看产品按钮 //// 2. 添加【产品运营工作台页】产品编辑及数据查看按钮 //// 3. 添加【产品分析页】编辑及数据查看按钮 //// 4. 添加【产品详情页】编辑及数据查看按钮,修改图片链接为原图,添加显示产品关键词(点击关键词可复制),添加视频链接与封面链接 //// 5. 添加【图片银行页】直接下载原图按钮 //// 6. 添加【关键词指数页】搜索按钮 //// 7. 添加【产品关键词搜索页】显示公司名按钮(可能有BUG) //// 8. 显示阿里巴巴标签页名称 //// 9. 【产品编辑页】增强, 添加关键词直接搜索按钮 ////********************************************** (function () { 'use strict'; GM_addStyle( ".switch{position:relative;width:50px;height:17px;display:inline-block} .switch input{display:none}.slider{position:absolute;cursor:pointer;top:0;left:0;right:0;bottom:0;background-color:#ca2222;transition:.4s}.slider:before{position:absolute;content:'';height:13px;width:13px;left:2px;bottom:2px;background-color:#fff;transition:.4s}input:checked+.slider{background-color:#2ab934}input:checked+.slider:before{transform:translateX(28px)}.on{display:none}.off,.on{color:#fff;position:absolute;transform:translate(-50%,-50%);top:50%;left:50%;font-size:8px}input:checked+.slider .on{display:block} input:checked+.slider .off{display:none}.slider.round{border-radius:17px}.slider.round:before{border-radius:50%}" ); // 工具函数 -- 添加元素属性 function setAttributes(el, attrs) { for (let key in attrs) { el.setAttribute(key, attrs[key]); } } // 工具函数 -- 复制 function copy(e){ let obj =document.createElement('input'); document.body.appendChild(obj); obj.value =e.textContent; obj.select(); document.execCommand('copy', false); obj.remove(); } // 添加零效果产品页复制产品按钮 function productNEW() { let products = document.querySelectorAll('tbody>tr') let ln = products.length; // 非对不起,未能查询到符合您要求的产品,建议重新设置查询条件或者已经存在复制按钮 if (!document.querySelector('tbody>tr').textContent.match("未能查询到") && !document.querySelector('tbody>tr').textContent .match("复制")) { for (let i = 0; i < ln; i++) { let product_info = products[i].querySelectorAll('.next-table-cell-wrapper'); // 表格每一行产品 // console.log(product_info); let product_url = product_info[1].querySelector("a").href; let product_container = product_info[6].querySelector(".edit-delete-off"); // ... let product_id = product_url.match(/_(\d+)\.htm(l)?/)[1]; // http://www.alibaba.com/product-detail//XXX_123456789.html?spm=a2... // 产品ID let product_newURL = "https://post.alibaba.com/product/publish.htm?spm=a2747.manage.0.0.8e9071d2H60Rr7&pubType=similarPost&itemId=" + product_id + "&behavior=copyNew"; let product_HTML = document.createElement("span"); product_HTML.innerHTML = `
复制
   数据`; if (!product_container.textContent.match("数据")) { // 动态加载fix product_container.appendChild(product_HTML); } } console.log("零效果产品页复制按钮添加成功!!!"); } } // 添加产品运营工作台产品编辑按钮 function productEdit() { let products = document.querySelectorAll('.upgrade-products-article-item') let ln = products.length; // 非已经存在编辑按钮 if (ln && !document.querySelector('.upgrade-products-article-item').textContent.match("编辑")) { for (let i = 0; i < ln; i++) { let product_title = products[i].querySelector(".product-subject").title; let product_container = products[i].querySelector(".product-id"); let product_id = product_container.textContent.match(/\d+/)[0]; // 产品ID // console.log(product_title, product_id); let product_href = `
编辑
数据` if (!product_container.textContent.match("编辑")) { // 动态加载fix product_container.innerHTML += product_href; } } console.log("添加产品运营工作台产品编辑按钮成功!!!"); } } // 添加产品分析页面按钮 function productAnalyse() { let products = document.querySelectorAll('tbody>tr') let ln = products.length; // 非已经存在产品分层按钮 if (ln && !document.querySelector('tbody>tr:last-child').textContent.match("分层")) { for (let i = 0; i < ln; i++) { let product_title = products[i].querySelector(".media-content").textContent; let product_url = products[i].querySelector(".custom-td-content>a").href; let product_id = product_url.match(/_(\d+)\.htm(l)?/)[1]; // 产品ID // console.log(product_title, product_id); let product_newURL = "https://post.alibaba.com/product/publish.htm?spm=a2747.manage.0.0.8e9071d2H60Rr7&pubType=similarPost&itemId=" + product_id + "&behavior=copyNew"; let product_href = `
复制
分层`; // 非产品不可编辑状态 if (products[i].querySelector(".action-enabled")) { let product_container = products[i].querySelector(".action-enabled").parentElement; // 插入span 编辑 ... if (!product_container.textContent.match("分层")) { // fix动态加载js,指选择日期产品后排序会重复添加的 product_container.innerHTML += product_href; } } // product_container.parentNode.insertBefore(document.createElement("br"), product_container.nextSibling); // document.querySelector('col:last-child').style.setProperty("width", "180px", "important"); // 设置表格最后一栏宽度 } console.log("添加产品分析页面按钮成功!!!"); } } // 添加产品页按钮 function productDetail() { let product_id; if (!document.querySelector('.detail-title-section .product_keywords')) { if (document.querySelector(".module-pdp-title")){ let product_title = document.querySelector(".module-pdp-title").textContent; console.log(product_title); if (/\/product\//.test(document.URL)){ product_id = document.URL.match(/(\d+)-(\d+)/)[1];; // 产品ID }else{ product_id = document.URL.match(/_(\d+)\.htm(l)?/)[1]; // 产品ID } // 产品标题 - Buy () on Alibaba.com let product_keywords = document.title.match(/- Buy (.*) Product/)[1]; // 产品关键词 let product_keywords_html = product_keywords.split(",").map(item => ( `
${item}` )).join(""); // overwriting the innerHTML is not a good idea indeed, will gone event listener so using appendChild here. let product_html = document.createElement("div"); product_html.innerHTML = `

${product_keywords_html}

`; document.querySelector(".module-pdp-title").parentElement.appendChild(product_html); let kws = document.getElementsByClassName("product_keyword"); for (let i = 0; i < kws.length; i++) { kws[i].onclick = function () { copy(kws[i]); } } console.log("添加产品分析页面按钮成功!!!"); document.querySelectorAll(".main-image-thumb-item img").forEach(v => (v.src = v.src.replace( /_50x50\.(jpg|png)/, ""))); // 修改图片轮播链接为原图 } } // 动态加载 window.addEventListener('load', function() { if (document.querySelector(".details-user-actions")) { let container = document.querySelector(".details-user-actions"); let product_tool = document.createElement("span"); let product_edit_style = document.querySelector(".is-magic")?"智能编辑":document.querySelector("#J-rich-text-description>div:only-child")?"旧版智能编辑":"普通编辑"; product_tool.innerHTML = `${product_edit_style}  编辑   数据  `; if (document.querySelector('.image-slider video')){ if (!document.querySelector('.details-user-actions').textContent.match("视频")) { let video_link = document.querySelector('video').src; // 产品视频链接 let video_poster = document.querySelector('video').poster; // 产品视频封面链接 let video_html = `
视频链接 视频封面` product_tool.innerHTML += video_html; } } if (!document.querySelector('.details-user-actions').textContent.match("数据")) { container.appendChild(product_tool); } }}) } // 添加图片银行直接下载原图按钮 function productPhoto() { let products = document.querySelectorAll('.photo-grid-item') // 获取图片容器 let ln = products.length; // 非已存在下载原图链接按钮 if (!document.querySelector('.image-info').textContent.match("下载原图")) { for (let i = 0; i < ln; i++) { let product_src = products[i].querySelector(".photo-grid-img-wrapper img").src; // 获取图片链接 let product_picforamt = product_src.match(/_350x350\.(jpg|png)/)[1]; let product_picLink = product_src.replace(/_350x350\.(jpg|png)/, ""); let product_picName = products[i].querySelector(".display-name button").textContent; // 获取图片文件名 let product_picContainer = products[i].querySelector(".image-info"); let product_picHTML = document.createElement("a"); setAttributes(product_picHTML, { "href": `${product_picLink}?attachment=${product_picName}.${product_picforamt}`, "target": "_blank", "rel": "noopener noreferrer" }); product_picHTML.innerHTML = "下载原图"; product_picContainer.appendChild(product_picHTML); } // console.log("添加图片银行直接下载原图按钮成功!"); } } //添加关键词指数页搜索按钮 function productKeywordIndex() { let keywords = document.querySelectorAll('.next-table-row'); let ln = keywords.length; // 非已经存在搜索按钮 if (ln && !document.querySelector('.next-table-row a i')) { for (let i = 0; i < ln; i++) { let kws_container = keywords[i].querySelectorAll(".next-table-cell-wrapper")[1].querySelector( "span"); let kw = kws_container.querySelector("a").textContent; let alibaba_link = document.createElement("a"); setAttributes(alibaba_link, { "href": `https://www.alibaba.com/products/${kw}.html?viewtype=G`, "target": "_blank", "rel": "noopener noreferrer", "title": "在阿里巴巴搜索" }); alibaba_link.innerHTML = ` `; let product_link = document.createElement("a"); setAttributes(product_link, { "href": `https://hz-productposting.alibaba.com/product/manage_products.htm?#/product/all/1-10/productKeyword=${kw}`, "target": "_blank", "rel": "noopener noreferrer", "title": "在发布产品列表搜索" }); product_link.innerHTML = ` `; if (!kws_container.querySelector('.next-table-row a i')) { // 动态加载fix kws_container.appendChild(alibaba_link); kws_container.appendChild(product_link); } } console.log("添加关键词指数页搜索按钮成功!!!"); } } // 产品编辑页增强 function productPublish(){ let product_keywords; product_keywords = document.querySelectorAll(".posting-field-keywords.multi-language li"); function alibaba_link(kw){ let kw_search_link = document.createElement("a"); setAttributes(kw_search_link, { "href": `https://www.alibaba.com/products/${kw}.html?viewtype=G`, "target": "_blank", "rel": "noopener noreferrer", "title": "在阿里巴巴搜索", "class": "alibaba_search", }); kw_search_link.innerHTML = ``; return kw_search_link; } for (let i = 0; i < product_keywords.length; i++) { let kw_container = product_keywords[i].querySelector(".next-input-control"); kw_container.appendChild(alibaba_link(product_keywords[i].querySelector("input").value)); product_keywords[i].querySelector("input").addEventListener('change',function (e) { kw_container.replaceChild(alibaba_link(this.value),kw_container.querySelector('.alibaba_search')); }); } } // 搜索关键词显示公司名 function productSupplierDisplay() { let products; if(document.querySelector('.seb-refine-ctb__viewtype>a').classList.contains('active')){ products = document.querySelectorAll('.app-organic-search__list>div.J-offer-wrapper'); }else{ products = document.querySelectorAll('.organic-gallery-offer-outter'); } let ln = products.length; function fireMouseEvents(element, eventNames) { if (element && eventNames && eventNames.length) { for (let index in eventNames) { let eventName = eventNames[index]; if (element.fireEvent) { element.fireEvent('on' + eventName); } else { let eventObject = document.createEvent('MouseEvents'); eventObject.initEvent(eventName, true, false); element.dispatchEvent(eventObject); } } } } for (let i = 0; i < ln; i++) { let supplier_container; // 视图切换按钮 if(document.querySelector('.seb-refine-ctb__viewtype>a').classList.contains('active')){ supplier_container = products[i].querySelector(".list-no-v2-decisionsup__row"); }else{ supplier_container = products[i].querySelector(".organic-gallery-offer_bottom-align-section"); } if (supplier_container && document.getElementById("d_switch").checked) { if (products[i].querySelector('.gallery-theme-card-default__image-ctn') || products[i].querySelector('.offer-theme-search')) { continue; // 跳过广告位Discover Now } else { if (!products[i].querySelector(".alisupplier_name")) { let product_link = products[i].querySelector('a').href; // 获取产品链接 let product_title = products[i].querySelector('.elements-title-normal').textContent; // 获取产品名 // 控制台输出产品标题 测试使用 //console.log(i, product_title); let product_inq,supplier_link; if(document.querySelector('.seb-refine-ctb__viewtype>a').classList.contains('active')){ product_inq= products[i].querySelector('.contact-supplier-btn').href; supplier_link = products[i].querySelector('.list-no-v2-decisionsup__row>span a').href; fireMouseEvents(products[i].querySelector(".list-no-v2-decisionsup__row>span a"), ['mouseover','mousedown']); // 触发鼠标显示供应商信息 }else{ product_inq= products[i].querySelector('.organic-gallery-offer__bottom-v2 a').href; // 获取产品询盘链接 supplier_link = products[i].querySelector(".organic-gallery-offer__seller-company").href; // 获取供应商链接 fireMouseEvents(products[i].querySelector(".organic-gallery-offer__seller-company"), ['mouseover','mousedown']); // 触发鼠标显示供应商信息 } let link = document.createElement("a"); setAttributes(link, { "href": `${supplier_link}`, "target": "_blank", "class": "alisupplier_name", }); // 采集到弹出供应商信息 if (document.querySelector(".next-overlay-wrapper .supplier-tag-popup__content_href")) { link.innerHTML = document.querySelector( ".next-overlay-wrapper .supplier-tag-popup__content_href").textContent; supplier_container.appendChild(link); let supplier_opener = document.querySelector(".next-balloon-normal"); supplier_opener.parentNode.removeChild(supplier_opener); } } } } } } // 显示阿里巴巴标签页名称 window.addEventListener('load', function() { let title_list = [".sc-hd-m-logo-anchor",".av-change-container-title",".auth-cent-list-container-title",".product-task-title-name", ".home-header>.home-header-title", ".rank-header-title",".next-card-title",".next-feedback-title", ".freight-template-app-title",".showcase-zh>.fs22",".inquiry-list-title",".common-h1",".title-wrapper>h1",".live-manage-management-title>h3", ".home-header-title",".big-title","h2.page-title>span",".next-tabs-tab-inner>div",".bp2-nav-bar>div",".component-page-title",".header-title",".page-title>h3", ".diagnosis-h3",".collect-products-list h1",".CGS_BASIC .page-title","h2.sub-title", ".title",".title-text",".photo-header-title","h1",".page-title",".manage-title",".ui-header-extend","h2","h3"]; for (let i = 0; i < title_list.length; i++) { if(!/(w{3}|i|fundma|onetouch|waimaoquan|activity|alicrm|marketing|siteadmin|customize)\.alibaba\.com/.test(document.URL)){ if(document.querySelector(title_list[i])){ console.log(title_list[i],document.querySelector(title_list[i])); document.title = document.querySelector(title_list[i]).textContent; break; }} } }, false); if (/product_grow_up_manage/.test(document.URL)) { setInterval(productEdit, 2500); // 添加产品运营工作台产品编辑按钮 } else if (/ineffective/.test(document.URL)) { setInterval(productNEW, 2500); // 添加零效果产品页复制产品按钮 } else if (/overview/.test(document.URL)) { setInterval(productAnalyse, 2500); // 添加产品分析页面按钮 } else if (/(product-detail)|(\/product\/\d+-\d+)/.test(document.URL)) { setInterval(productDetail, 2500); // 添加产品详情页按钮 } else if (/photobank/.test(document.URL)) { setInterval(productPhoto, 2500); // 添加图片银行直接下载原图按钮 } else if (/keywordIndex/.test(document.URL)) { setInterval(productKeywordIndex, 2500); // 添加关键词指数页搜索按钮 } else if (/(trade\/search)|(\/products\/)/.test(document.URL)) { // 添加搜索关键词显示公司名按钮 if (document.getElementsByClassName('refine-filters__result-left')) { let dswitch = document.createElement('label'); dswitch.innerHTML = "
ONOFF
"; dswitch.setAttribute('class', 'switch'); document.getElementsByClassName('refine-filters__result-left')[0].appendChild(dswitch); } setInterval(productSupplierDisplay, 2500); } else if(/post\.alibaba/ig.test(document.URL)){ window.addEventListener('load', productPublish(), false); } })();