Google Calendar Openstreetmap Links

目前為 2015-03-01 提交的版本,檢視 最新版本

// ==UserScript==
// @name            Google Calendar Openstreetmap Links
// @include         https://www.google.com/calendar/render?&pli=1#h
// @version         1
// @description:en  Automatically replaces the "Map" link in the google calendar overview with openstreetmap links.
// @grant           none
// @namespace https://greasyfork.org/users/9466
// ==/UserScript==
var target = document.querySelector('.bubble');
var pattern = re = new RegExp('https://maps.google.de/maps\\?hl=de&q=(.+)&.*')
var replacement = 'https://openstreetmap.org/search?query=$1'
// create an observer instance
var observer = new MutationObserver(function (mutations) {
  mutations.forEach(function (mutation) {
    googleMapsLink = target.querySelector('a[href^=\'https://maps.google\']');
    if (googleMapsLink) {
      googleMapsLink.attributes.href.textContent = googleMapsLink.attributes.href.textContent.replace(pattern, replacement);
    }
  });
});
// configuration of the observer:
var config = {
  attributes: true,
  childList: false,
  characterData: false
};
// pass in the target node, as well as the observer options
observer.observe(target, config);