// ==UserScript== // @name 阿里巴巴国际站产品辅助脚本 // @namespace http://www.alibaba.com // @author Lepturus // @version 0.0.9 // @icon http://is.alicdn.com/favicon.ico // @description 1. 添加【零效果产品页】【产品运营工作台页】【产品分析页】编辑及数据效果查看按钮 2. 添加【产品详情页】编辑及数据查看按钮,修改图片链接为原图,添加显示产品关键词,添加视频链接与封面链接 3. 添加【图片银行页】直接下载原图按钮 4. 添加【关键词指数页】搜索按钮 5. 添加【产品关键词搜索页】显示公司名按钮 6.添加【产品列表页】序列和效果按钮 7. 显示阿里巴巴标签页名称 8. 【产品编辑页】增强 // @match *://www.alibaba.com/* // @match *://data.alibaba.com/* // @match *://*.alibaba.com/trade/search* // @match *://*.alibaba.com/product-detail/* // @match *://keywordIndex.alibaba.com/* // @match *://photobank.alibaba.com/* // @match *://post.alibaba.com/* // @match *://hz-productposting.alibaba.com/* // @match *.alibaba.com/product/* // @grant GM_addStyle // @license MIT // @downloadURL https://update.greasyfork.icu/scripts/430029/%E9%98%BF%E9%87%8C%E5%B7%B4%E5%B7%B4%E5%9B%BD%E9%99%85%E7%AB%99%E4%BA%A7%E5%93%81%E8%BE%85%E5%8A%A9%E8%84%9A%E6%9C%AC.user.js // @updateURL https://update.greasyfork.icu/scripts/430029/%E9%98%BF%E9%87%8C%E5%B7%B4%E5%B7%B4%E5%9B%BD%E9%99%85%E7%AB%99%E4%BA%A7%E5%93%81%E8%BE%85%E5%8A%A9%E8%84%9A%E6%9C%AC.meta.js // ==/UserScript== ////********************************************** //// 1. 添加【产品运营工作台页】产品编辑及查看产品效果按钮 //// 2. 添加【产品分析页】含【零效果产品页】页 编辑及查看产品分层按钮 //// 3. 添加【产品详情页】编辑查看产品效果按钮,修改图片链接为原图,添加显示产品关键词(点击关键词可复制),添加视频链接与封面链接 //// 4. 添加【图片银行页】直接下载原图按钮 //// 5. 添加【关键词指数页】内 【关键词分析】搜索按钮 //// 6. 添加【产品关键词搜索页】显示公司名按钮,若出现供应商名称顺序对不上的情况,一般重新刷新页面可正确显示,或者重新刷新页面后使用强制显示供应商名称模式(注意先开启该按钮再开启左边ON/OFF按钮) //// 7. 添加【产品列表页】序列(点击可复制询盘链接)和产品效果按钮 //// 8. 显示阿里巴巴标签页名称 //// 9. 【产品编辑页】增强, 添加关键词直接搜索按钮,添加导航快捷按钮(上传图片 质量分检测【当阿里质量分按钮不存在时也可检测】 提交产品),辅助添加标题单词首字母转大写功能 ////********************************************** (function () { 'use strict'; GM_addStyle( ".switch{position:relative;width:45px;height:17px;display:inline-block} .switch input{display:none}.d_slider{position:absolute;cursor:pointer;top:0;left:0;right:0;bottom:0;background-color:#ca2222;transition:.4s}.d_slider:before{position:absolute;content:'';height:13px;width:13px;left:2px;bottom:2px;background-color:#fff;transition:.4s}input:checked+.d_slider{background-color:#2ab934}input:checked+.d_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+.d_slider .on{display:block} input:checked+.d_slider .off{display:none}.d_slider.round{border-radius:17px}.d_slider.round:before{border-radius:50%}" ); // 工具函数 -- 添加元素属性 function setAttributes(el, attrs) { for (let key in attrs) { el.setAttribute(key, attrs[key]); } } // 工具函数 -- 复制 function copy(e, textContent = true) { let obj = document.createElement('input'); document.body.appendChild(obj); obj.value = textContent ? e.textContent : e; obj.select(); document.execCommand('copy', false); obj.remove(); return obj.value } // 工具函数 -- 序数 function addCounter(productList, margin) { var cssText = "position:absolute;z-index:1;margin-left:" + margin + "px;display:inline-block;background:SlateGray;color:WhiteSmoke;font-family:'微软雅黑';font-size:14px;text-align:center;width:20px;line-height:20px;border-radius:50%;"; var div = document.createElement('div'); var idx = 1; for (var i = 0; i < productList.length; i++) { if (productList[i].getAttribute('data-index')) { continue; } else { productList[i].setAttribute('data-index', idx); div.innerHTML = "
" + idx + "
"; productList[i].innerHTML = div.innerHTML + productList[i].innerHTML; idx++; } } } // 工具函数 -- 首字母大写 function Capitalize(str) { return str.replace(/\w\S*/g, function (txt) { return txt.charAt(0).toUpperCase() + txt.substr(1).toLowerCase(); }); } function productList() { if (document.querySelector(".product-info")) { addCounter(document.querySelectorAll(".product-info"), -80); } let productList = document.querySelectorAll(".product-info"); for (var i = 0; i < productList.length; i++) { var el = document.getElementsByClassName('product-id')[i]; var el2 = document.getElementById("product_" + i); var product_id = el.innerText.replace(/[^0-9]/ig, ""); let inquiry_url = "https://message.alibaba.com/msgsend/contact.htm?action=contact_action&domain=1&id=" + product_id; var similar_url = "https://post.alibaba.com/product/publish.htm?pubType=similarPost&itemId=" + product_id; el2.onclick = function () { copy(inquiry_url, false) alert(`${inquiry_url}\n……Copy The Inquiry URL Done……`); } el.setAttribute('data-href', inquiry_url) let product_a = productList[i].parentNode.querySelector(".next-col.next-col-3>span>div") if (product_a){ let product_analysis = document.createElement("span"); product_analysis.innerHTML = `
效果`; if (!product_a.textContent.match("效果")) { // 动态加载fix product_a.appendChild(product_analysis); } } } } // 添加产品运营工作台产品编辑按钮 function productEdit() { let products, products_cell; if (document.querySelector('.upgrade-products-article-item')) { products_cell = '.upgrade-products-article-item'; products = document.querySelectorAll(products_cell); } else { products_cell = '.upgrade-products-grid-record'; products = document.querySelectorAll(products_cell); } let ln = products.length; // 非已经存在编辑按钮 if (ln && !document.querySelector(products_cell).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 product_tab = document.querySelector(".Product_tab .next-tabs-nav li[aria-selected='true']").textContent let products = document.querySelectorAll('tbody>tr') let ln = products.length; // 非已经存在产品分层按钮 if (product_tab =="我的产品"){ 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("添加产品分析页面按钮成功!!!"); }} else{ // 零效果产品 // 非对不起,未能查询到符合您要求的产品,建议重新设置查询条件或者已经存在复制按钮 if (!document.querySelector('.ineffective-product tbody>tr').textContent.match("未能查询到") && !document.querySelector('.ineffective-product tbody>tr').textContent .match("复制")) { products = document.querySelectorAll('.ineffective-product tbody>tr') ln = products.length; 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 productDetail() { let product_id; if (!document.querySelector('.ali_product_keywords')) { if (document.querySelector(".module-pdp-title") || document.querySelector(".product-title")) { let product_title; let product_title_container; let product_image_container; if (document.querySelector(".module-pdp-title")){ product_title = document.querySelector(".module-pdp-title").textContent; product_title_container = ".module-pdp-title"; product_image_container = ".main-image-thumb-item img"; } else{ product_title = document.querySelector(".product-title h1").textContent; product_title_container = ".product-title h1"; product_image_container = ".main-list>.main-item>img"; } // 在不同浏览器或设备显示代码不一样 // console.log(product_title); if (/\/product\//.test(document.URL)) { product_id = document.URL.match(/(\d+)-(\d+)/)[1];; // 产品ID } else if (/chinese\.alibaba/.test(document.URL)) { product_id = document.URL.match(/-(\d+)\.htm(l)?/)[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(product_title_container).parentElement.appendChild(product_html); // 同标题class let kws = document.getElementsByClassName("product_keyword"); for (let i = 0; i < kws.length; i++) { kws[i].onclick = function () { let kkws = copy(kws[i]); kws[i].innerHTML = "Copied"; window.setTimeout(function () { kws[i].innerHTML = kkws; }, 1500) } } console.log("添加产品分析页面按钮成功!!!"); document.querySelectorAll(product_image_container).forEach(v => (v.src = v.src.replace( /_50x50\.(jpg|png)/, "").replace(/_100x100xz\.(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"); if (document.querySelector('.image-d_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; } } 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('.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; // 获取图片文件名 // console.log(product_picName); 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 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')); }); } if (document.querySelectorAll("#productsm").length < 1) { let product_menu = document.querySelector('.next-menu-content') product_menu.insertAdjacentHTML('beforeend', '' ); document.querySelector('#productpic').onclick = function () { let img_uploadButton = document.getElementsByClassName('upload-select-inner')[0].getElementsByTagName( "button")[0] if (img_uploadButton.disabled) { alert("产品图片已满,请删除部分图片后重新尝试上传!") } else { img_uploadButton.click(); // document.querySelector('#productpic span').style.color = "orange" } } product_menu.insertAdjacentHTML('beforeend', '