您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Converts the cart in to postable html that has been patched for the forums
当前为
// ==UserScript== // @name Newegg cart to post converter for eggxpert.com // @namespace http://userscripts.org/users/62850 // @description Converts the cart in to postable html that has been patched for the forums // @include http://secure.newegg.com/Shopping/ShoppingCart.aspx* // @include http://secure.newegg.ca/Shopping/ShoppingCart.aspx* // @include https://secure.newegg.com/Shopping/ShoppingCart.aspx* // @include https://secure.newegg.ca/Shopping/ShoppingCart.aspx* // @version 3.7.1 // @grant none // ==/UserScript== function addCommas(nStr){//http://www.mredkj.com/javascript/nfbasic.html nStr += ''; x = nStr.split('.'); x1 = x[0]; x2 = x.length > 1 ? '.' + x[1] : ''; var rgx = /(\d+)(\d{3})/; while (rgx.test(x1)) { x1 = x1.replace(rgx, '$1' + ',' + '$2'); } return x1 + x2; } function findEle(target,i,e){ if(i==9) return document.evaluate(target, e?e:document, null, i, null).singleNodeValue; else return document.evaluate(target, e?e:document, null, i, null); } function make(tag){ return document.createElement(tag); } function makeTXT(txt){ return document.createTextNode(txt); } function genDivBox(table){ var div=make('div'), child=make('div'); child2=make('a'); div.style.height=findEle('.//body/div[@id="container"]',9,false).offsetHeight+'px'; div.id="GM_alert"; child.addEventListener('click',function(){ document.body.removeChild(findEle('.//body/div[@id="GM_alert"]',9,false)); },false); child.textContent="X"; child.className="close"; child.title="Close"; div.appendChild(child); child=make('div'); child.appendChild(makeTXT('If you would like to readable HTML code, paste it in the ')); child2.href="http://tools.arantius.com/tabifier"; child2.textContent='Tabifier'; child2.target="_blank"; child.appendChild(child2); child.appendChild(makeTXT('.')); child.appendChild(make('br')); child2=make('input'); child2.setAttribute('readonly','readonly'); child2.setAttribute('onclick','this.select();'); child2.value=table.outerHTML; child.appendChild(child2); child.appendChild(makeTXT('Copy & Paste the above code.')); child.appendChild(make('br')); child2=make('fieldset'); child2.innerHTML='<legend>Preview</legend>'; child.appendChild(make('center')); child.childNodes[child.childNodes.length-1].appendChild(child2); div.appendChild(child); child2.appendChild(table); document.body.appendChild(div); } var holder=findEle('.//table[@class="head"]/tbody/tr[@class="tool-bar"]/td',6,false),btn,style; if(holder.snapshotLength==2){ btn=make('a'); btn.className='button button-mini button-tertiary'; btn.href="javascript:return false;"; btn.textContent='Generate HTML Code'; btn.title="HTML code for posting on forums"; btn.addEventListener('click',function(){ var table,tbody,tr,td,div,img, i,cart,item,val,a,txt,IMG, items=Array(),mir=Array(), redirect='evilkitty.duckdns.org/neweggAdd2Cart.php?i=', direct='secure.newegg.com/Shopping/AddToCart.aspx?Submit=ADD&ItemList=', workaround=confirm("Re-write 'add to cart link' to make them work on community.newegg.com?\nLinks will run through 3ed party server."); table=make('table'); table.border=1; table.appendChild(make('tbody')); tbody=table.childNodes[0]; tr=make('tr'); tr.align="center"; td=make('th'); td.textContent='Item'; td.setAttribute('colspan',2); tr.appendChild(td); td=make('th'); td.textContent='Quantity'; tr.appendChild(td); td=make('th'); td.textContent='Price'; tr.appendChild(td); tbody.appendChild(tr); cart=findEle('.//table[contains(@class,"shipping-group")]/tbody/tr',6); for(i=0;i<cart.snapshotLength;i++){ item=cart.snapshotItem(i); tr=make('tr'); td=make('td'); img=make('img'); IMG=findEle('./td/div/a/img[@class="l-block product-image"]',9,item); img.src=IMG.src; td.appendChild(img); tr.appendChild(td); td=make('td'); a=make('a'); a.href=IMG.parentNode.href; a.target="_blank"; a.textContent=IMG.parentNode.title; td.appendChild(a); tr.appendChild(td); td=make('td'); td.align='center'; txt=findEle('./td[@width="50px"]/input',9,item); td.textContent=txt?txt.value:findEle('./td[@width="50px"]/div',9,item).textContent; tr.appendChild(td); txt=td.textContent; td=make('td'); td.align="right"; if(findEle('./td/input[@type="checkbox"]',9,item)){ a=a.href.slice(a.href.lastIndexOf('=')+1); items.push(a+(workaround?',':'|')+txt); td.textContent=findEle('./td[@align="right"]//li[starts-with(@class,"price-current")]',9,item).textContent.replace(/(\s|\t|\n)/g,''); a=make('a'); a.target="_blank"; a.textContent='Add to cart'; a.href='http://'+(workaround?redirect:direct)+items[items.length-1]; td.appendChild(make('br')); td.appendChild(a); } else{ txt=findEle('./td[@align="right"]//li[starts-with(@class,"price-current")]',9,item); if(txt){ td.textContent=txt.textContent.replace(/(\s|\t|\n)/g,''); td.appendChild(make('br')); } td.appendChild(makeTXT("Combo Item")); } tr.appendChild(td); txt=findEle('./td[@align="right"]//li[@class="price-note"]//a[contains(@title,"Mail In Rebate")]',9,item); if(txt){ a=make('a'); a.target="_blank"; a.href=txt.href; a.title=a.href.slice(a.href.lastIndexOf('/')+1); txt=txt.textContent+' Rebate'; txt=txt.slice(0,txt.indexOf(' ')); a.textContent=txt; mir.push(a); } tbody.appendChild(tr); } tr=make('tr'); td=make('td'); td.setAttribute('colspan',3); td.textContent="Subtotal:"; tr.appendChild(td); txt=findEle('.//table[contains(@class,"shipping-group")]/tfoot//span[@class="amount"]',6,false); td=make('td'); val=0; for(i=0;i<txt.snapshotLength;i=i+2){ val+=Number(txt.snapshotItem(i).textContent.replace(/(\$|\s|\t|\n|,)/g,'')); } td.textContent='$'+addCommas(val.toFixed(2)); td.align="right"; tr.appendChild(td); tbody.appendChild(tr); tr=make('tr'); td=make('td'); td.setAttribute('colspan',3); td.textContent="Shipping + Tax:"; tr.appendChild(td); td=make('td'); td.align="right"; val=0; for(i=1;i<txt.snapshotLength;i=i+2){ val+=Number(txt.snapshotItem(i).textContent.replace(/(\$|\s|\t|\n|,)/g,'')); } td.textContent='$'+addCommas(val.toFixed(2)); tr.appendChild(td); tbody.appendChild(tr); cart=findEle('.//table[@class="applied-code"]/tbody/tr',6,false); for(i=0;i<cart.snapshotLength;i++){ try{ tr=make('tr'); item=cart.snapshotItem(i); td=make('td'); td.setAttribute('colspan',3); td.textContent='Promo Code: '+findEle('./td/strong',9,item).textContent; tr.appendChild(td); td=make('td'); td.align='right'; td.textContent=findEle('./td[@class="discount"]',9,item).textContent; tr.appendChild(td); tbody.appendChild(tr); } catch(e){ continue; } } tr=make('tr'); td=make('td'); td.setAttribute('colspan',3); td.textContent="Grand Total:"; tr.appendChild(td); td=make('td'); td.align="right"; td.textContent=findEle('.//td[@class="grand-total"]/span[@class="amount"]',9,false).textContent.replace(/(\s|\t|\n)/g,''); tr.appendChild(td); tbody.appendChild(tr); tr=make('tr'); if(mir.length>0){ td=make('td'); td.setAttribute('colspan',2); td.appendChild(makeTXT(mir.length>1?'There are '+mir.length+' Mail-in Rebates: ':'There is '+mir.length+' Mail-in Rebate: ')); for(i=0;i<mir.length;i++){ td.appendChild(mir[i]); if(i+1<mir.length){ td.appendChild(makeTXT(" | ")); } } tr.appendChild(td); } a=make('a'); a.target="_blank"; a.href='http://'+(workaround?redirect:direct)+items.join(','); a.textContent='Add all to cart'; td=make('td'); td.align='right'; td.setAttribute('colspan',mir.length>0?2:4); td.appendChild(a) tr.appendChild(td); tbody.appendChild(tr); genDivBox(table); window.scrollTo(0,0); },false); holder.snapshotItem(1).appendChild(btn); } style=make('style'); style.type="text/css"; style.textContent='\ #GM_alert{\ position:absolute;\ top:0;\ left:0;\ width:calc(100% - 60px);\ background-color:rgba(0,0,0,0.5);\ padding:30px;\ z-index:9001;\ }\ #GM_alert a{\ color:blue;\ }\ #GM_alert .close{\ background-color:red;\ width:24px;\ height:24px;\ position:absolute;\ right:3px;\ top:3px;\ border:1px solid white;\ color:white;\ border-radius:5px;\ font-family:monospace;\ font-size:21px;\ text-align:center;\ cursor:pointer;\ }\ #GM_alert > div:not(.close){\ border-radius:5px;\ background-color:#FFF;\ padding:10px;\ }\ #GM_alert fieldset{\ display:inline;\ border-radius:5px;\ text-align:left;\ }\ #GM_alert > div > input{\ width:calc(100% - 9px);\ }\ #GM_alert table{\ margin:0;\ border:1px outset;\ }\ #GM_alert td, #GM_alert th{\ border:1px inset;\ padding:0;\ }'; document.head.appendChild(style);
QingJ © 2025
镜像随时可能失效,请加Q群300939539或关注我们的公众号极客氢云获取最新地址