TradeMe Address Check

Add Link To Check An Address

目前为 2014-07-14 提交的版本,查看 最新版本

// ==UserScript==
// @name        TradeMe Address Check
// @namespace   https://greasyfork.org/scripts/3143-address-check
// @description Add Link To Check An Address
// @include     http://www.trademe.co.nz/MyTradeMe/Delivery/SendDeliveryAddress.aspx*
// @include     http://www.trademe.co.nz/MyTradeMe/Sell/Sold.aspx*
// @version     0.30
// @grant       unsafeWindow
// @copyright   public domain
// @author      Godfrey Livingstone [email protected] 
// ==/UserScript==

var $ = unsafeWindow.jQuery;

// replace trademe's JS error handler
// window.onerror=function(msg, url, linenumber){
//    console.log('Error message: '+msg+'\nURL: '+url+'\nLine Number: '+linenumber);
//    return true;
//};

//
// Delivery Address
// http://www.trademe.co.nz/MyTradeMe/Delivery/SendDeliveryAddress.aspx?asid=<purchase id>
//
// Delivery Address
// Phone Number
// Message

//
// Purchase Summary
// http://www.trademe.co.nz/MyTradeMe/PurchaseSummary.aspx?asid=<purchase id>&isBuyer=false
//
// Shipping Option

//
// Listing
// http://www.trademe.co.nz/Browse/Listing.aspx?id=<Listing ID>
//
// Title
// Photo Link

//
// Photo
// http://images.trademe.co.nz/photoserver/tq/263983945.jpg
//

if (window.top != window.self) { //-- Don't run on frames or iframes
    return;
}

$.expr[':'].textEquals = function(a, i, m) {
	return $(a).text().match("^" + m[3] + "$");
};


function addSoldDeliveryCheck(deliveryLink, deliveryDetails, pReference) {
	
    var purchase_summary_url = 'http://www.trademe.co.nz/MyTradeMe/PurchaseSummary.aspx?asid=' + pReference + '&isBuyer=false';

    var add_html = $('#DeliveryAddress', deliveryDetails).html();
    var add_array = add_html.split("<br>");

    var add_str = add_array.slice(1, -1).join(', ');
    var encoded_add = encodeURIComponent(add_str).replace(/%0A/g,'%20');
    
    var namestr = add_array[0];
    var encoded_name = encodeURIComponent(namestr).replace(/%0A/g,'%20');
    
    var ph = $('#PhoneNumber', deliveryDetails).html();
    var encoded_ph = encodeURIComponent(ph).replace(/%0A/g,'%20');
    
    var message = $('#Message', deliveryDetails).html();
    var encoded_message = encodeURIComponent(message).replace(/%0A/g,'%20');
    
    var encoded_addassent = encodeURIComponent(add_html).replace(/%0A/g,'%20');
    
    var base_url = "http://www.addresscheck.co.nz/?address=";
    var link_url = base_url + encoded_add + '&name=' + encoded_name + '&phone=' + encoded_ph + '&address_as_sent=' + encoded_addassent + '&message=' + encoded_message;
    
    var add_link =  '<a target="_blank" href="' + link_url + '"> * Check Address *</a>';
  
    var tr_start = '<tr><td style="vertical-align: middle;"></td><td style="color: #666;" align="left"><small>';
    
    var tr_end = '</small></td></tr>';

    var add_tr = tr_start + add_link + tr_end; 
   
    $(deliveryLink).closest('tr').after( add_tr );
} 

$("a:textEquals('Delivery address')", '#mainContent').each(function(index, deliveryLink){
    var deliveryUrl = $(deliveryLink).attr('href');
    var pReference = deliveryUrl.replace(/.*asid=/i, '');                                  
    $.ajax({
			type:"GET",
			url:deliveryUrl,
			success:function(deliveryDetails) {
        		addSoldDeliveryCheck(deliveryLink, deliveryDetails, pReference);
			}
	});
});


$('#DeliveryAddress').each(function(index, deliveryAddress) {

    var add_html = $(deliveryAddress).html();  
    var add_array = add_html.split("<br>");
    
    var add_str = add_array.slice(1, -1).join(', ');
    var encoded_add = encodeURIComponent(add_str).replace(/%0A/g,'%20');
    
    var namestr = add_array[0];
    var encoded_name = encodeURIComponent(namestr).replace(/%0A/g,'%20');
    
    var ph = $('#PhoneNumber').html();
    var encoded_ph = encodeURIComponent(ph).replace(/%0A/g,'%20');
    
    var message = $('#Message').html();
    var encoded_message = encodeURIComponent(message).replace(/%0A/g,'%20');

    var encoded_addassent = encodeURIComponent(add_html).replace(/%0A/g,'%20');
    
    var base_url = "http://www.addresscheck.co.nz/?address=";
    var link_url = base_url + encoded_add + '&name=' + encoded_name + '&phone=' + encoded_ph + '&address_as_sent=' + encoded_addassent + '&message=' + encoded_message;
    
    var div_start = '<div style="font-size: 12px; margin-top: 10px; padding: 0;">';
    var div_end = '</div>';
    
    var add_image = '<a id="AddressImageCheckLink" target="_blank" href="' + link_url + '"><img  width="18" height="17" alt="" style="vertical-align: middle; margin-right:5px; border:0;"src="/images/1pixel.gif"></a>';
    
    var add_link =  '<a id="AddressCheckLink" target="_blank" href="' + link_url + '">Check Address</a>';
    
    var add_node = div_start + add_image + add_link + div_end;
    
    $('#PrintLink').parent().after( add_node );
    
});