您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Improves the modification page
当前为
// ==UserScript== // @name SGW Item Modification Helper // @namespace greasyfork.org // @version 1.3.2 // @grant none // @require https://greasyfork.org/scripts/23449-gm-api-script/code/GM%20API%20script.js?upDate=2016_09_23 // @include https://sellers.shopgoodwill.com/sellers/modifyItem.asp* // @description Improves the modification page // ==/UserScript== $('*[name]').not('[id]').each(function(){ $(this).attr('id', $(this).attr('name')); }); $('#itemTitle').parent().parent().parent().hide(); $('#itemTitle').parent().parent().parent().before("<tr><td valign='top' width='10' bgcolor='#2045A3'><img src='../images/spacer.gif' height=' 0' width='10'></td><td id='contentTD'></td></tr>"); $('#contentTD').append("<p id='itemTitleContainer'><b>Item Title:</b> </p>"); $('#itemTitleContainer').append($('#itemTitle')); $('#contentTD').append("<p id='itemCategoryContainer'><b>Category:</b> </p>"); $('#itemCategoryContainer').append($('#s1')); $('#contentTD').append("<p id='itemDescriptionContainer'><b>Description:</b> </p>"); $('#itemDescriptionContainer').append($('#colourPalette').parent()); // TODO: Shipping calculator? $('#contentTD').append("<div id='itemShippingDetailsContainer'></div>"); $('#itemShippingDetailsContainer').append("<p id='itemShippingWeightContainer'><b>Shipping Weight:</b> </p>"); $('#itemShippingWeightContainer').append($('#itemWeight')); $('#itemShippingDetailsContainer').append("<p id='itemDisplayWeightContainer'><b>Display (Actual) Weight:</b> </p>"); $('#itemDisplayWeightContainer').append($('#itemDisplayWeight')); $('#itemShippingDetailsContainer').append("<p id='itemShippingPriceContainer'><b>Shipping Charge:</b><br></p>"); $('#itemShippingPriceContainer').append($('#itemShippingPrice')); $('#itemShippingDetailsContainer').append("<p id='itemShipMethodContainer'><b>Shipping Method:</b> <br></p>"); $('#itemShipMethodContainer').append($('#itemShipMethod')); $('#itemShippingDetailsContainer').append("<p id='itemNoCombineShippingContainer'><b>Item Shipment Combining:</b><br></p>"); $('#itemNoCombineShippingContainer').append($('#itemNoCombineShipping')); $('#itemNoCombineShippingContainer').append(" Select this option if the buyer of this item should not be allowed to combine this item with shipment of other items."); $('#itemShippingDetailsContainer').append("<p id='itemAutoInsuranceContainer'><b>Auto Include Insurance (USPS Only):</b></p>"); $('#itemAutoInsuranceContainer').append($('#itemAutoInsurance')); $('#contentTD').append("<p id='itemsellerstoreContainer'><b>Seller Store:</b> </p>"); $('#itemsellerstoreContainer').append($('#itemsellerstore')); $('#itemSellerInventoryLocationID').parent().attr('id', 'itemSellerInventoryLocationIDContainer').appendTo($('#contentTD')); $('#contentTD').append("<p id='itemSellerInfoContainer'><b>Seller Private Description:</b><br></p>"); $('#itemSellerInfoContainer').append($('#itemSellerInfo')); $('#contentTD').append("<p style='position:relative; left: 10px; padding-bottom:4px;'><span class='fakeButton' onclick='$(\"#hiddenJunk\").toggle();'>Show/hide hidden fields/etc.</span></p>"); $('#contentTD').parent().after("<tr style='display:none;' id='hiddenJunk'><td valign='top' width='10' bgcolor='#2045A3'><img src='../images/spacer.gif' height=' 0' width='10'></td><td id='hiddenJunkTD'></td></tr>"); $('#hiddenJunkTD').append("<p id='itemQuantityContainer'><b>Item Quantity: </b></p>"); $('#itemQuantityContainer').append($('#itemQuantity').parent()); $('#hiddenJunkTD').append("<p id='itemMinimumBidContainer'><b>Minimum Bid: </b></p>"); $('#itemMinimumBidContainer').append($('#itemMinimumBid').parent()); $('#hiddenJunkTD').append("<p id='itemBidIncrementContainer'><b>Bid Increment: </b></p>"); $('#itemBidIncrementContainer').append($('#itemBidIncrement').parent()); $('#hiddenJunkTD').append("<p id='itemReserveContainer'><b>Reserve Price: </b></p>"); $('#itemReserveContainer').append($('#itemReserve').parent()); $('#itemReserve').parent().children().first().remove(); $('#hiddenJunkTD').append("<p id='itemBuyNowPriceContainer'><b>Buy Now Price: </b></p>"); $('#itemBuyNowPriceContainer').append($('#itemBuyNowPrice').parent()); $('#itemBuyNowPrice').parent().children().first().remove(); $('#hiddenJunkTD').append("<p id='itemActualDimensionsContainer'></p>"); $('#itemActualDimensionsContainer').append($('#itemLength').parent().parent().parent()); $('#hiddenJunkTD').append("<p id='itemShippingDimensionsContainer'></p>"); $('#itemShippingDimensionsContainer').append('<font face="Arial" size="2"><strong>Shipping Dimension - Length x Width x Height in inches (optional)</font><font face="arial" color="#a3223a" size="4"></font>:</strong>'); $('#itemShippingDimensionsContainer').append($('#itemShipLength')); $('#itemShippingDimensionsContainer').append(" <font face='Arial' size='2'>(Numbers and decimal point '.' only) Used for shipping optimization and prevention of oversized charges.</font>"); $('#hiddenJunkTD').append("<p id='itemShippingContainer'><b>Shipping: </b><p>"); $('#itemShippingContainer').append($('#itemShipping')); $('#itemShippingContainer').append($('select[name="itemShipping"]')); $('#hiddenJunkTD').append("<p id='itemHandlingPriceContainer'><b>Handling Charge: </b></p>"); $('#itemHandlingPriceContainer').append($('#itemHandlingPrice').parent()); $('#itemHandlingPrice').parent().children().first().remove(); $('#hiddenJunk').after("<tr><td valign='top' width='10' bgcolor='#2045A3' height='10px'><img src='../images/spacer.gif' height=' 0' width='10'></td><td id='hiddenJunkTD'></td></tr>"); $('#itemShipMethod option[value="3"]').text('Post Office'); $('#itemTitleContainer').after('<div id="counterContainer"><font face="Arial" size="4">You have <b><span id="myCounter"></span></b> characters remaining.</font></div>'); $("#myCounter").html(50-$('#itemTitle').val().length); $('#itemTitle').bind('keyup', function(){ $("#myCounter").html(50-$('#itemTitle').val().length); }); // --------- Shipping calculator -------------------------------------------- if ($('#shipCalcContainer').length > 0) { // Doesn't do these things if the user doesn't have the new shipping calculator script installed. // $("#itemSellerInfo").after("<b>Note to shipping:</b><br><textarea id='noteToShipping' rows='2' cols='40'></textarea><br>"); // $('#itemSellerInfo').hide(); $("b:contains('Shipping Charge')").before($('.shippingOptions').first()); $('.shippingOptions').eq(1).remove(); // I have NO IDEA why the shippingOptions div gets duplicated, rather than just moved! $('#itemDescriptionContainer').after($('#shipCalcContainer').css({'margin-top' : '15px', 'margin-bottom' : '20px'})); var sgwTimeouts = window.setTimeout(function(){ // $('#myCounter').bind('change', function(){ // var len49 = Math.ceil($('#myCounter').html()); // $('#myCounter2').html(len49 + 1); // }) function dummyWeight() { if ($('#itemWeight').val().length < 1) { $('#itemWeight').val(1); } if ($('#itemDisplayWeight').val().length < 1) { $('#itemDisplayWeight').val(1); } } // disabling this due to conflicts /* $('#submit1').bind('click', function(e){ e.preventDefault(); var submitForm = true; while ($('#itemTitle').val().length < 1) { $('#itemTitle').val(prompt('Item title?')); } if ($('#itemWeight').val().length < 1) { if ($('#currentShipCalcType').val() == 'USPS') { while ($('#itemWeight').val().length < 1) { var weight = prompt("Item's weight?"); $('#itemWeight').val(weight); $('#itemDisplayWeight').val(weight); } } else if ($('#currentShipCalcType').val() == 'pickup') { $('#itemWeight').val(150); } else { alert('Please enter shipping information!'); $('.calcInput:empty').first().focus(); submitForm = false; } } while ($('#itemDisplayWeight').val().length < 1) { $('#itemDisplayWeight').val(prompt('Item\'s actual weight?')); } if ($('#itemDescription').val().length < 1) { // alert('Please enter a description!'); // submitForm = false; // Doesn't work. Huh. } if (submitForm === true) { if ($('#itemsellerstore').val() == '999') { $('#itemsellerstore').val('999 - Mixed Locations'); } var shipString = '<<'; if ($('#Clothing').css('background-color') == 'rgb(170, 170, 170)') { shipString += 'clth:'+$('#actualWeight').val()+'#'; if ($('#itemShipMethod').val() == 2) { shipString += '/' + $('#dim1').val() + 'x' + $('#dim2').val() + 'x' + $('#dim3').val(); } } else if ($('#Media').css('background-color') == 'rgb(170, 170, 170)') { shipString += 'mdia+'+$('#actualWeight').val()+'#'; } else { if ($('#currentShipCalcType').val() == 'general') { shipString += 'gen:'; } else if ($('#currentShipCalcType').val() == 'guitar') { shipString += 'guit:'; } else if ($('#currentShipCalcType').val() == 'art') { shipString += 'art:'; } else if ($('#currentShipCalcType').val() == 'long') { shipString += 'long:'; } if ($('#dim1').val().length > 0 && $('#dim2').val().length > 0 && $('#dim3').val().length > 0) { shipString += $('#actualWeight').val() + '#/' + $('#dim1').val() + 'x' + $('#dim2').val() + 'x' + $('#dim3').val(); } } shipString += '>>'; console.log(shipString); $('#itemSellerInfo').val($('#itemSellerInfo').val()+shipString); if ($('#noteToShipping').val().length > 0) { $('#itemSellerInfo').val($('#itemSellerInfo').val()+'<br><br><b>Note from ' + $('#posterName').html() + ': </b>' + $('#noteToShipping').val()); } $('#form1').submit(); } }); */ function validateCombineCat(cat) { noCombine = ['Sculpture', 'Figurine', 'Cookie Jar', 'Music Box', 'Glass', 'Grabbag', 'Barware', 'China', 'Cookware', 'Serving Piece', 'Wedding Dress', 'Gown',]; combine = true; // $.each() // I don't think I want it to automatically do this. } $('.upsButton').bind('click', function(){ useSuggestion('UPS'); }); $('.uspsButton').bind('click', function(){ useSuggestion('USPS'); }); $('.pickupOnlyButton').bind('click', function(){ useSuggestion('pickup'); }); function buttonClickAnimate(button) { button.css('background-color', '#AAA').animate({ 'background-color' : '#EEE', }, 500); } function weightPrompt() { var displayWeight = Math.ceil($('#addPounds').html()); while ($('#actualWeight').val().length < 1) { var actualWeight = prompt('Item\'s actual weight?'); actualWeight = actualWeight.replace(/[^\d.-]/g,''); $('#actualWeight').val(actualWeight); displayWeight += Math.ceil(actualWeight); $('#calc-'+$('#currentShipCalcType').val()).trigger("click"); } $('#itemDisplayWeight').val(displayWeight); } $('#calc-media').bind('click', function(){ buttonClickAnimate($(this)); $('#Media') .trigger('click'); }); $('#calc-clothing').bind('click', function(){ buttonClickAnimate($(this)); weightPrompt(); var weight = parseFloat($('#actualWeight').val()); $('#itemDisplayWeight').val(weight); calculateUSPS(weight); }); $('.shipCharge').bind('click', function(){ $('.shipType').css('background-color', '#EEE'); $(this).css('background-color', '#AAA'); var thisBox = $(this).text(); var boxData = $('#boxDefinitions').data()[thisBox]; weightPrompt(); if (thisBox == 'Media') { doMedia($('#actualWeight').val()); } else if (thisBox == 'Clothing' || thisBox == 'Small&light') { $('#calc-clothing').trigger('click'); } else if (boxData['method'] == 'USPS') { $('#itemDisplayWeight').val($('#actualWeight').val()); $('#itemWeight').val($('#actualWeight').val()); $('#itemShippingPrice').val(boxData['price']); $('#shipTypeNote').val(thisBox); } else if (boxData['method'] == 'UPS') { $('#itemDisplayWeight').val($('#actualWeight').val()); realWeight = Math.ceil($('#actualWeight').val())+Math.ceil($('#addInches').html()); if (realWeight > boxData['weight']) { $('#itemWeight').val(realWeight); } else { $('#itemWeight').val(boxData['weight']); } $('#shipTypeNote').val(boxData['note']); } if (boxData['method'].length > 0) { // console.log('.shipCharge():'+boxData['method']); shippingMethod(boxData['method']); } }); function useSuggestion(type) { buttonClickAnimate($('.'+type+'Button:visible')); if (type == 'pickupOnly') { type = 'pickup'; } // console.log('useSuggestion():'+type); shippingMethod(type); weightPrompt(); $('#itemDisplayWeight').val($('#actualWeight').val()); if (type == 'UPS') { $('#itemWeight').val($('#shipCalcShippingWeight').html()); } else if (type == 'USPS') { $('#itemWeight').val($('#actualWeight').val()); $('#itemShippingPrice').val($('#uspsSuggPrice').html()); } else if (type == 'pickup') { $('#itemWeight').val(150); } } $('#UPS').bind('click', function(){ weightPrompt(); dimList = [$('#dim1').val(), $('#dim2').val(), $('#dim3').val()]; $.each(dimList, function(index, dim){ index+=1; while (dim.length < 1) { dim = prompt('Dimension ' + index); $('#dim'+index).val(dim); } }); $('#calc-'+$('#currentShipCalcType').val()).trigger('click'); if($('.upsButton:visible').length > 0) { useSuggestion('UPS'); } else { useSuggestion('pickup'); } }); $('#pickupOnly').bind('click', function(){ weightPrompt(); shippingMethod('pickup'); }); function shippingMethod(method) { // console.log('shippingMethod() '+method); $('#UPS, #pickup').css('background-color', '#EEE'); $('#itemShipMethod > option').removeAttr('selected'); if (method == 'UPS') { $('#itemShipMethod').val(2); $('#itemAutoInsurance').removeProp('checked'); $('#itemShippingPrice').val(0); $('#UPS').css('background-color', '#AAA'); } else if (method =='pickup') { // console.log('a'); $('#itemShipMethod').val(0); $('#itemAutoInsurance').removeProp('checked'); $('#itemShippingPrice').val(0); $('#itemWeight').val(150); $('#pickupOnly').css('background-color', '#AAA'); } else if (method == 'USPS') { // console.log('???'); $('#itemShipMethod').val(3); $('#itemAutoInsurance').prop('checked', true); $('#itemWeight').val(Math.ceil($('#actualWeight').val()) + Math.ceil($('#addPounds').html())); } } function getCharge(myWeight) { console.log('getCharge:'+myWeight); if (myWeight <= 3) { return '3.99'; } else if (myWeight <= 6) { return '5.99'; } else if (myWeight <= 10) { return '7.99'; } else if (myWeight <= 13) { return '8.99'; } else if (myWeight <= 15) { return '9.99'; } else if (myWeight <= 19) { return '11.99'; } else if (myWeight <= 25) { return '15.99'; } else if (myWeight <= 27) { return '16.99'; } else if (myWeight <= 29) { return '17.99'; } else if (myWeight <= 31) { return '18.99'; } else if (myWeight <= 33) { return '19.99'; } else if (myWeight <= 35) { return '20.99'; } else if (myWeight <= 37) { return '21.99'; } else if (myWeight <= 39) { return '22.99'; } else if (myWeight <= 41) { return '23.99'; } else if (myWeight <= 43) { return '24.99'; } else if (myWeight <= 45) { return '25.99'; } else if (myWeight <= 47) { return '26.99'; } else if (myWeight <= 49) { return '27.99'; } else if (myWeight <= 51) { return '28.99'; } else if (myWeight <= 53) { return '29.99'; } else if (myWeight <= 55) { return '30.99'; } else if (myWeight <= 57) { return '31.99'; } else if (myWeight <= 59) { return '32.99'; } else if (myWeight <= 61) { return '33.99'; } else if (myWeight <= 63) { return '34.99'; } else if (myWeight <= 65) { return '35.99'; } else if (myWeight <= 67) { return '36.99'; } else if (myWeight <= 68) { return '37.99'; } else if (myWeight <= 69) { return '38.99'; } else if (myWeight <= 70) { return '39.99'; } } function doMedia(weight) { console.log('media:'+weight); var myCharge; if (weight < 50) { myCharge = getCharge(weight); } else if (weight < 70) { myCharge = 2 * getCharge(weight/2); } else { if (weight <= 140) { weight /= 2; myCharge = 2.25 * getCharge(weight); } else if (weight <= 210) { weight /= 3; myCharge = 3.5 * getCharge(weight); } myCharge = (Math.ceil(myCharge) - .01) } $('#itemDisplayWeight').val(weight); $('#itemWeight').val(weight); $('#itemShippingPrice').val(myCharge); $('#shipTypeNote').val('Media'); shippingMethod('USPS'); } }, 1100); } $('.fakeButton').css({ 'border' : '1px solid #CCC', 'background-color' : '#EEE', 'padding' : '3px', 'margin' : '3px', }); // don't forget checkboxes! also #table does not have a val()... // can I touch $('body.WebWizRTEtextarea')???