Address Check

Add Link To Check An Address

当前为 2014-07-09 提交的版本,查看 最新版本

  1. // ==UserScript==
  2. // @name Address Check
  3. // @namespace https://greasyfork.org/scripts/3143-address-check
  4. // @description Add Link To Check An Address
  5. // @include http://www.trademe.co.nz/MyTradeMe/Delivery/SendDeliveryAddress.aspx*
  6. // @include http://www.trademe.co.nz/MyTradeMe/Sell/Sold.aspx*
  7. // @version 0.2
  8. // @grant unsafeWindow
  9. // @copyright public domain
  10. // @author Godfrey Livingstone godfrey@satelliteshop.co.nz
  11. // ==/UserScript==
  12.  
  13. var $ = unsafeWindow.jQuery;
  14.  
  15. // replace trademe's JS error handler
  16. // window.onerror=function(msg, url, linenumber){
  17. // console.log('Error message: '+msg+'\nURL: '+url+'\nLine Number: '+linenumber);
  18. // return true;
  19. //};
  20.  
  21. //
  22. // Delivery Address
  23. // http://www.trademe.co.nz/MyTradeMe/Delivery/SendDeliveryAddress.aspx?asid=<purchase id>
  24. //
  25. // Delivery Address
  26. // Phone Number
  27. // Message
  28.  
  29. //
  30. // Purchase Summary
  31. // http://www.trademe.co.nz/MyTradeMe/PurchaseSummary.aspx?asid=<purchase id>&isBuyer=false
  32. //
  33. // Shipping Option
  34.  
  35. //
  36. // Listing
  37. // http://www.trademe.co.nz/Browse/Listing.aspx?id=<Listing ID>
  38. //
  39. // Title
  40. // Photo Link
  41.  
  42. //
  43. // Photo
  44. // http://images.trademe.co.nz/photoserver/tq/263983945.jpg
  45. //
  46.  
  47. if (window.top != window.self) { //-- Don't run on frames or iframes
  48. return;
  49. }
  50.  
  51. $.expr[':'].textEquals = function(a, i, m) {
  52. return $(a).text().match("^" + m[3] + "$");
  53. };
  54.  
  55.  
  56. function addSoldDeliveryCheck(deliveryLink, deliveryDetails, pReference) {
  57. var purchase_summary_url = 'http://www.trademe.co.nz/MyTradeMe/PurchaseSummary.aspx?asid=' + pReference + '&isBuyer=false';
  58. // console.log(purchase_summary_url);
  59. // var shipping_info = '';
  60. //$.get(purchase_summary_url, function(psummary) {
  61. // shipping_info = $("span:textEquals('Shipping:')",psummary).parent().html().replace(/<span>Shipping:<\/span>/i, '');
  62. // console.log(shipping_info);
  63. //});
  64.  
  65. //console.log(shipping_info);
  66.  
  67. // $("span:textEquals('Shipping')",
  68. var add_html = $('#DeliveryAddress', deliveryDetails).html();
  69. var add_array = add_html.split("<br>");
  70.  
  71. var add_str = add_array.slice(1, -1).join(', ');
  72. var encoded_add = encodeURIComponent(add_str);
  73. var namestr = add_array[0];
  74. var encoded_name = encodeURIComponent(namestr);
  75. var ph = $('#PhoneNumber', deliveryDetails).html();
  76. var encoded_ph = encodeURIComponent(ph);
  77. var message = $('#Message', deliveryDetails).html();
  78. var encoded_message = encodeURIComponent(message);
  79. var encoded_addassent = encodeURIComponent(add_html);
  80. var base_url = "http://www.addresscheck.co.nz/?address=";
  81. var link_url = base_url + encoded_add + '&name=' + encoded_name + '&phone=' + encoded_ph + '&address_as_sent=' + encoded_addassent + '&message=' + encoded_message;
  82. var add_link = '<a target="_blank" href="' + link_url + '"> * Check Address *</a>';
  83. var tr_start = '<tr><td style="vertical-align: middle;"></td><td style="color: #666;" align="left"><small>';
  84. var tr_end = '</small></td></tr>';
  85.  
  86. var add_tr = tr_start + add_link + tr_end;
  87.  
  88. // $(deliveryLink).parent().append( add_link );
  89. $(deliveryLink).closest('tr').after( add_tr );
  90. }
  91.  
  92. $("a:textEquals('Delivery address')", '#mainContent').each(function(index, deliveryLink){
  93. var deliveryUrl = $(deliveryLink).attr('href');
  94. var pReference = deliveryUrl.replace(/.*asid=/i, '');
  95. console.log(pReference);
  96. $.ajax({
  97. type:"GET",
  98. url:deliveryUrl,
  99. success:function(deliveryDetails) {
  100. // console.log(deliveryDetails);
  101. addSoldDeliveryCheck(deliveryLink, deliveryDetails, pReference);
  102. }
  103. });
  104. // $.get(auctionUrl, function(listing) {
  105. // addShipping(card, listing);
  106. // addSeller(card, listing);
  107. // addThumbnail(card, listing);
  108. // });
  109. });
  110.  
  111.  
  112. $('#DeliveryAddress').each(function(index, deliveryAddress) {
  113.  
  114. var add_html = $(deliveryAddress).html();
  115. var add_array = add_html.split("<br>");
  116. var add_str = add_array.slice(1, -1).join(', ');
  117. var encoded_add = encodeURIComponent(add_str);
  118. var namestr = add_array[0];
  119. var encoded_name = encodeURIComponent(namestr);
  120. var ph = $('#PhoneNumber').html();
  121. var encoded_ph = encodeURIComponent(ph);
  122. var message = $('#Message').html();
  123. var encoded_message = encodeURIComponent(message);
  124.  
  125. var encoded_addassent = encodeURIComponent(add_html);
  126. var base_url = "http://www.addresscheck.co.nz/?address=";
  127. var link_url = base_url + encoded_add + '&name=' + encoded_name + '&phone=' + encoded_ph + '&address_as_sent=' + encoded_addassent + '&message=' + encoded_message;
  128. var div_start = '<div style="font-size: 12px; margin-top: 10px; padding: 0;">';
  129. var div_end = '</div>';
  130. 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>';
  131. var add_link = '<a id="AddressCheckLink" target="_blank" href="' + link_url + '">Check Address</a>';
  132. var add_node = div_start + add_image + add_link + div_end;
  133. $('#PrintLink').parent().after( add_node );
  134. });