// ==UserScript== // @name Send to c:geo // @namespace http://send2.cgeo.org/ // @description Add button "Send to c:geo" to geocaching.com // @grant none // @include http://www.geocaching.com/seek/cache_details* // @include https://www.geocaching.com/map/* // @include http://www.geocaching.com/geocache/* // @include http://www.geocaching.com/my/recentlyviewedcaches* // @include http://www.geocaching.com/seek/nearest* // @icon http://send2.cgeo.org/content/images/logo.png // @downloadURL https://send2.cgeo.org/send2cgeo.user.js // @updateURL https://send2.cgeo.org/send2cgeo.user.js // @version 0.30 // ==/UserScript== // Inserts javascript that will be called by the s2cgeo button. The closure // look strange, but avoids having to escape the code. Almost everything // is put into that script element so that geocaching.com's jQuery may be // accessed. var s = document.createElement('script'); s.type = 'text/javascript'; s.textContent = '(' + function() { // function that handles the actual sending ////////////////////////////////// window.s2geo = function(code) { // show the box and the "please wait" text $('#send2cgeo, #send2cgeo div').fadeIn(); // hide iframe for now and wait for page to be loaded $('#send2cgeo iframe') .hide() .unbind('load') .attr('src', 'https://send2.cgeo.org/add.html?cache='+code) .load(function() { // hide "please wait text" and show iframe $('#send2cgeo div').hide(); // hide box after 3 seconds $(this).css('display', 'block').parent().delay(3000).fadeOut(); }); }; // Defines the elements to insert into the page ////////////////////////////// var boxWidth = 20, boxHeight = 7; var boxStyle = 'display:none; background:#1D1D1D; z-index:1000; left:50%;' + 'box-shadow:0 0 0.5em #000; padding:0; border:0; ' + 'position:fixed; top:0.5em; text-align:center; ' + 'margin-left:-'+(boxWidth/2)+'em; line-height:'+boxHeight+'em;' + 'width:'+boxWidth+'em; height:'+boxHeight+'em; color: #fff'; var waitStyle = 'width: '+boxWidth+'em; color: #fff'; var iframeStyle = 'border:0; width:'+boxWidth+'em; height: '+boxHeight+'em'; $('body').append('