NL: Wil je toegang tot alle opgeloste mysterie caches dan kan je Premium Member
worden door een eenmalige donatie te doen via het Premium Member artikel.

EN: If you want access to all solved mystery caches then you can become
Premium Member through a one-time donation via the Premium Member article.

D: Wenn Sie Zugriff auf alle gelösten Mystery-Caches haben möchten, können Sie
Premium-Mitglied werden durch eine einmalige Spende über den Premium Member Artikel.

Forumregels / Forum rules / Forum Regeln & Openen nieuwe topics / Starting new topics / Neue Themen erstellen.


Waardering:
  • 6 stemmen - gemiddelde waardering is 2
  • 1
  • 2
  • 3
  • 4
  • 5
Problemen met Geoleaks script
#10
Ik gebruik meestal de Edge browser maar vaak ook Chrome of Firefox.  Alle op PC. Ook in Firefox krijg ik het niet werkend.

Ik heb me samen met AI over het probleem gebogen en met volgend script krijg ik alles weer werkend in Edge : 

Code:
/* global $: true */
/* global unsafeWindow: true */
// ==UserScript==
// @name        Geocaching.com + GeoLeaks.com
// @namespace   geoleaks
// @version     2.7
// @author      GeoLeaks Geocaching Forum
// @description Add link to geoleaks.com on geocache pages see also: https://geoleaks.com/forum/showthread.php?tid=25207
// @supportURL  https://geoleaks.com/forum/showthread.php?tid=25207
// @require     https://greasyfork.org/scripts/38445-monkeyconfig/code/MonkeyConfig.js
// @include     http://www.geocaching.com/geocache/*
// @include     https://www.geocaching.com/geocache/*
// @include     https://geoleaks.com/forum/newthread.php?*
// @include     https://geoleaks.com/forum/search.php*
// @connect     geoleaks.com
// @grant       GM_getValue
// @grant       GM_setValue
// @grant       GM_registerMenuCommand
// @grant       GM_addStyle
// @grant       GM_xmlhttpRequest
// ==/UserScript==
// @require     https://raw.github.com/odyniec/MonkeyConfig/master/monkeyconfig.js
(function() {
    'use strict';
    var buttonInfo = {
        error: {
            color: '#cc3399',
            colorHigh: '#ff66cc',
            text: 'Error!'
        },
        notfound: {
            color: '#90040b',
            colorHigh: '#cc0000',
            text: 'Ask on GeoLeaks'
        },
        solved: {
            color: '#02874d',
            colorHigh: '#00b265',
            text: 'Solved on GeoLeaks'
        },
        unknown: {
            color: '#12508c',
            colorHigh : '#0000ff',
            text: 'Found on GeoLeaks'
        },
        unsolved: {
            color: '#e98300',
            colorHigh : '#ffcc00',
            text: 'Solving on GeoLeaks'
        },
        wait: {
            color: '#cdcdcd',
            colorHigh : '#eeeeee',
            text: 'Searching on GeoLeaks'
        }
        // dnf: '#1c3d4c' ,
        // virtual: '#009bbb',
    };
    var regions = {
        // Netherlands
        'Groningen, Netherlands': { fid : 12 },
        'Friesland, Netherlands': { fid : 13 },
        'Drenthe, Netherlands': { fid : 14 },
        'Overijssel, Netherlands': { fid : 15 },
        'Flevoland, Netherlands': { fid : 16 },
        'Gelderland, Netherlands': { fid : 17 },
        'Utrecht, Netherlands': { fid : 18 },
        'Noord-Holland, Netherlands': { fid : 19 },
        'Zuid-Holland, Netherlands': { fid : 20 },
        'Zeeland, Netherlands': { fid : 21 },
        'Noord-Brabant, Netherlands': { fid : 22 },
        'Limburg, Netherlands': { fid : 23 },
        // Belgium
        'Brussels, Belgium': { fid : 41 },
        'Antwerpen, Belgium': { fid : 42 },
        'Limburg, Belgium': { fid : 43 },
        'West-Vlaanderen, Belgium': { fid : 44 },
        'Oost-Vlaanderen, Belgium': { fid : 45 },
        'Vlaams-Brabant, Belgium': { fid : 46 },
        'Brabant wallon, Belgium': { fid : 47 },
        'Hainaut, Belgium': { fid : 48 },
        'Liège, Belgium': { fid : 49 },
        'Luxembourg, Belgium': { fid : 50 },
        'Namur, Belgium': { fid : 51 },
        // Germany
        'Bremen, Germany': { fid : 98 },
        'Hamburg, Germany': { fid : 99 },
        'Niedersachsen, Germany': { fid : 100 },
        'Nordrhein-Westfalen, Germany': { fid : 101 },
        'Hessen, Germany': { fid : 102 },
        'Rheinland-Pfalz, Germany': { fid : 103 },
        'Saarland, Germany': { fid : 104 },
        'Schleswig-Holstein, Germany': { fid : 105 },
        'Mecklenburg-Vorpommern, Germany': { fid : 106 },
        'Brandenburg, Germany': { fid : 107 },
        'Berlin, Germany': { fid : 108 },
        'Sachsen-Anhalt, Germany': { fid : 109 },
        'Thüringen, Germany': { fid : 110 },
        'Sachsen, Germany': { fid : 111 },
        'Baden-Württemberg, Germany': { fid : 112 },
        'Bayern, Germany': { fid : 113 },
// Europe
'Andorra' : { fid : 198, cc : 'AD' },
'Albania' : { fid : 202, cc : 'AL' },
'Austria' : { fid : 144, cc : 'AT' },
'Belarus' : { fid : 203, cc : 'BLR' },
'Bosnia and Herzegovina' : { fid : 204, cc : 'BA' },
'Bulgaria' : { fid : 174, cc : 'BG' },
'Croatia' : { fid : 166, cc : 'HR' },
'Cyprus' : { fid : 196, cc : 'CY' },
'Czechia' : { fid : 160, cc : 'CZ' },
'Denmark' : { fid : 137, cc : 'DK' },
'Estonia' : { fid : 186, cc : 'EE' },
'Faroe Islands' : { fid : 218, cc : 'FO' },
'Finland' : { fid : 156, cc : 'FI' },
'Aland Islands': { fid : 156, cc : 'AX' },
'France': { fid : 68, cc : 'F' },
'Monaco': { fid : 68, cc : 'MC' },
'Gibraltar': { fid : 221, cc : 'GI' },
'Greece' : { fid : 146, cc : 'GR' },
'Hungary' : { fid : 162, cc : 'HU' },
'Iceland' : { fid : 175, cc : 'IS' },
'Ireland' : { fid : 148, cc : 'IE' },
'Italy' : { fid : 149, cc : 'IT' },
'San Marino' : { fid : 149, cc : 'SM' },
'Vatican City State' : { fid : 149, cc : 'VA' },
'Latvia' : { fid : 187, cc : 'LV' },
'Liechtenstein' : { fid : 200, cc : 'LI' },
'Lithuania' : { fid : 188, cc : 'LT' },
'Luxembourg': { fid : 66, cc : 'LX' },
'Malta' : { fid : 172, cc : 'MT' },
'Moldova' : { fid : 223, cc : 'MD' },
'Montenegro' : { fid : 205, cc : 'ME' },
'North Macedonia' : { fid : 206, cc : 'MK' },
'Norway' : { fid : 158, cc : 'NO' },
'Poland' : { fid : 164, cc : 'PL' },
'Portugal' : { fid : 154, cc : 'PT' },
'Romania' : { fid : 194, cc : 'RO' },
'Russian Federation' : { fid : 207, cc : 'RU' },
'Serbia' : { fid : 208, cc : 'RS' },
'Slovakia' : { fid : 170, cc : 'SK' },
'Slovenia' : { fid : 168, cc : 'SI' },
'Spain' : { fid : 142, cc : 'ES' },
'Sweden' : { fid : 139, cc : 'SE' },
'Switzerland' : { fid : 152, cc : 'CH' },
'Ukraine' : { fid : 209, cc : 'UA' },
'United Kingdom': { fid : 87, cc : 'UK' },
'Guernsey': { fid : 87, cc : 'GG' },
'Jersey': { fid : 87, cc : 'JE' },
'Isle of Man': { fid : 87, cc : 'IM' },
// Rest of the world
'Australia' : { fid : 180, cc : 'AU' },
'Canada' : { fid : 178, cc : 'CA' },
'New Zealand' : { fid : 184, cc : 'NZ' },
'South Africa' : { fid : 182, cc : 'SA' },
        'Alabama, United States': { fid : 88, cc : 'AL' },
        'Alaska, United States': { fid : 88, cc : 'AK' },
        'Arizona, United States' : { fid : 88, cc : 'AZ' },
        'Arkansas, United States' : { fid : 88, cc : 'AR' },
        'California, United States' : { fid : 88, cc : 'CA' },
        'Colorado, United States' : { fid : 88, cc : 'CO' },
        'Connecticut, United States' : { fid : 88, cc : 'CT' },
        'Delaware, United States' : { fid : 88, cc : 'DE' },
        'District of Columbia, United States' : { fid : 88, cc : 'DC' },
        'Florida, United States' : { fid : 88, cc : 'FL' },
        'Georgia, United States' : { fid : 88, cc : 'GA' },
        'Hawaii, United States' : { fid : 88, cc : 'HI' },
        'Idaho, United States' : { fid : 88, cc : 'ID' },
        'Illinois, United States' : { fid : 88, cc : 'IL' },
        'Indiana, United States' : { fid : 88, cc : 'IN' },
        'Iowa, United States' : { fid : 88, cc : 'IA' },
        'Kansas, United States' : { fid : 88, cc : 'KS' },
        'Kentucky, United States' : { fid : 88, cc : 'KY' },
        'Louisiana, United States' : { fid : 88, cc : 'LA' },
        'Maine, United States' : { fid : 88, cc : 'ME' },
        'Maryland, United States' : { fid : 88, cc : 'MD' },
        'Massachusetts, United States' : { fid : 88, cc : 'MA' },
        'Michigan, United States' : { fid : 88, cc : 'MI' },
        'Minnesota, United States' : { fid : 88, cc : 'MN' },
        'Mississippi, United States' : { fid : 88, cc : 'MS' },
        'Missouri, United States' : { fid : 88, cc : 'MO' },
        'Montana, United States' : { fid : 88, cc : 'MT' },
        'Nebraska, United States' : { fid : 88, cc : 'NE' },
        'Nevada, United States' : { fid : 88, cc : 'NV' },
        'New Hampshire, United States' : { fid : 88, cc : 'NH' },
        'New Jersey, United States' : { fid : 88, cc : 'NJ' },
        'New Mexico, United States' : { fid : 88, cc : 'NM' },
        'New York, United States' : { fid : 88, cc : 'NY' },
        'North Carolina, United States' : { fid : 88, cc : 'NC' },
        'North Dakota, United States' : { fid : 88, cc : 'ND' },
        'Ohio, United States' : { fid : 88, cc : 'OH' },
        'Oklahoma, United States' : { fid : 88, cc : 'OK' },
        'Oregon, United States' : { fid : 88, cc : 'OR' },
        'Pennsylvania, United States' : { fid : 88, cc : 'PA' },
        'Rhode Island, United States' : { fid : 88, cc : 'RI' },
        'South Carolina, United States' : { fid : 88, cc : 'SC' },
        'South Dakota, United States' : { fid : 88, cc : 'SD' },
        'Tennessee, United States' : { fid : 88, cc : 'TN' },
        'Texas, United States' : { fid : 88, cc : 'TX' },
        'Utah, United States' : { fid : 88, cc : 'UT' },
        'Vermont, United States' : { fid : 88, cc : 'VT' },
        'Virginia, United States' : { fid : 88, cc : 'VA' },
        'Washington, United States' : { fid : 88, cc : 'WA' },
        'West Virginia, United States' : { fid : 88, cc : 'WV' },
        'Wisconsin, United States' : { fid : 88, cc : 'WI' },
        'Wyoming, United States' : { fid : 88, cc : 'WY' },
        'default' : { fid : 70 }
    };
    const GCTYPE_Traditional = 2;
    const GCTYPE_Multi = 3;
    const GCTYPE_Virtual = 4;
    const GCTYPE_Letterbox = 5;
    const GCTYPE_Mystery = 8;
    const GCTYPE_Earthcache = 137;
    const GCTYPE_Wherigo = 1858;
    const LOGTYPE_Found = 2;
    const LOGTYPE_Did_not_found = 3;
    var gctypes = [];
    gctypes[GCTYPE_Traditional] = { fid : 38 };
    gctypes[GCTYPE_Multi] = { fid : 38 };
    gctypes[GCTYPE_Virtual] = { fid : 77 };
    gctypes[GCTYPE_Letterbox] = { fid : 38 };
        // 'Event Cache
        // 'Unknown Cache
        // 'Project APE Cache
        // 'Webcam Cache
        // 'Cache In Trash Out Event
    gctypes[GCTYPE_Earthcache] = { fid : 77 };
        // 'Mega-Event Cache
        // 'GPS Adventures Exhibit
    gctypes[GCTYPE_Wherigo] = { fid : 38 };
        // 'Lost and Found Event Cache
        // 'Groundspeak HQ
        // 'Groundspeak Lost and Found Celebration
        // 'Groundspeak Block Party
        // 'Giga-Event Cache
    var cfg = new MonkeyConfig({
        title: 'Geocaching + Geoleaks Configuration',
        menuCommand: true,
        params: {
            open_in_new_window: {
                type: 'checkbox',
                default: false
            },
        }
    });
    var gccode = '';
    var gcname = '';
    var gctype = 0;
    var logtype = 0;
    var region = '';
    var coords = '';
    var wait = 5000;
    var link_id = '#linkToGeoLeaks';
    var form_id = '#formToGeoLeaks';
    function setInputFields() {
        var params = new URLSearchParams(window.location.search);
        for (var param of params) {
            var elems = document.getElementsByName(param[0]);
            for (var elem of elems) {
                switch (elem.nodeName) {
                    case 'TEXTAREA' : elem.innerHTML = param[1]; elem.value = param[1]; break;
                    default : elem.value = param[1]; break;
                }
            }
        }
    }
    function updateButton(type) {
        $(link_id)
            .css('background-color', buttonInfo[type][$(link_id).data('colorState')])
            .css('border-color', buttonInfo[type][$(link_id).data('colorState')])
            .data('color', buttonInfo[type].color)
            .data('colorHigh', buttonInfo[type].colorHigh)
            .html(buttonInfo[type].text)
        ;
    }
    function setHref(href) {
        $(link_id)
            .attr('href', href)
            .attr('target', cfg.get('open_in_new_window') && !href.startsWith('#') ? '_blank' : '_self')
        ;
    }
    function newMessageUrl() {
        var forumInfo = regions.default;
        if (gctypes[gctype]) { forumInfo = gctypes[gctype]; }
        else {
            for (var key in regions) {
                if (region.endsWith(key)) {
                    forumInfo = regions[key];
                    break;
                }
                console.debug('Region:' + region);
            }
        }
        var subject = gccode + ' ' + gcname;
        if (forumInfo.cc) { subject += ' (' + forumInfo.cc + ')'; }
        var message =
            'https://coord.info/' + gccode + "\n" +
            "\n" +
            'https://geoleaks.com/forum/showthread.php?tid=25207 ' + "\n" +
            "\n" +
            'Geeft aan dat er nog geen topic voor deze cache is, wie kan er helpen? Indicates that there is no topic for this cache yet, who can help?'
            "\n";
        return '' +
            'https://geoleaks.com/forum/newthread.php?fid=' + forumInfo.fid +
            '&subject=' + encodeURIComponent(subject) +
            '&message_new=' + encodeURIComponent(message) +
            '&message=' + encodeURIComponent(message)
        ;
    }
    function checkGeoleaks() {
        updateButton('wait');

        GM_xmlhttpRequest({
            method: "POST",
            url: "https://geoleaks.com/forum/search.php",
            headers: {
                "Content-Type": "application/x-www-form-urlencoded"
            },
            data: $.param({
                'action' : 'do_search',
                'keywords' : gccode,
                'postthread' : 2,
                'sortby' : 'lastpost',
                'sortordr' : 'asc'
            }),
            onload: function(response) {
                var result = response.responseText;
                var url = result.match(/search\.php\?action=results[^"]*/);
                if (!url) {
                    if (-1 !== result.indexOf('<td class="trow1">Er zijn geen resultaten gevonden voor de zoekopdracht die u uitvoerde. Maak een nieuwe zoekopdracht en probeer het opnieuw.</td>')) {
                        updateButton('notfound');
                        setHref(newMessageUrl());
                        return;
                    }
                    if (-1 !== result.indexOf('<td class="trow1">U kunt slechts &eacute;&eacute;n zoekopdracht per 10 seconden uitvoeren. Wacht')) {
                        wait = wait * 2;
                        window.setTimeout(checkGeoleaks, wait);
                        return;
                    }
                    console.error('Cannot find results url');
                    console.debug(result);
                    updateButton('error');
                    setHref('#search');
                    return;
                }
                url = url[0].replace(/&amp;/g, '&');

                GM_xmlhttpRequest({
                    method: "GET",
                    url: 'https://geoleaks.com/forum/' + url,
                    onload: function(subResponse) {
                        var subResult = subResponse.responseText;
                        var post = subResult.match(/showthread\.php.*?highlight[^"]*/);
                        if (post) {
                            post = post[0].replace(/&amp;/g, '&');
                            setHref('https://geoleaks.com/forum/' + post);
                            var forumMatch = subResult.match(/forumdisplay\.php.*?<\/a>/);
                            var forum = forumMatch ? forumMatch[0].match(/[^>]*<\/a>/)[0].toLowerCase() : '';

                            if (forum.startsWith('opgeloste ') || forum.startsWith('gelöste ') || forum.startsWith('solved ')) {
                                updateButton('solved');
                            } else if (forum.startsWith('niet opgeloste ') || forum.startsWith('ungelöste ') || forum.startsWith('unsolved ')) {
                                updateButton('unsolved');
                            } else {
                                updateButton('unknown');
                            }
                        } else {
                            updateButton('notfound');
                            setHref(newMessageUrl());
                        }
                    },
                    onerror: function() {
                        updateButton('error');
                        setHref('https://geoleaks.com/forum/search.php?action=do_search&keywords=' + gccode);
                    }
                });
            },
            onerror: function() {
                updateButton('error');
                setHref('https://geoleaks.com/forum/search.php?action=do_search&keywords=' + gccode);
            }
        });
    }
    function geocaching() {
        if ('undefined' == typeof($)) {
            setTimeout(geocaching, 123);
            return;
        }
        gccode = $('#ctl00_ContentBody_CoordInfoLinkControl1_uxCoordInfoCode').html();
        gcname = $('#ctl00_ContentBody_CacheName').html();
        gctype = Number(
            $('a[href="/about/cache_types.aspx"] use')
                .attr('xlink:href')
                .replace('-disabled', '')
                .replace('/app/ui-icons/sprites/cache-types.svg#icon-', '')
        );
        var logimage = $('img#ctl00_ContentBody_GeoNav_logTypeImage');
        console.log(logimage);
        if (logimage.length) {
            logtype = Number(
                logimage
                    .attr('src')
                    .replace('.png', '')
                    .replace('/images/logtypes/48/', '')
            );
        }
        console.log(logtype);
        region = $('#ctl00_ContentBody_Location').html().replace('</a>', '');
        coords = $('span.myLatLon').html();
        if (-1 === [
            GCTYPE_Traditional,
            GCTYPE_Multi,
            GCTYPE_Virtual,
            GCTYPE_Letterbox,
            GCTYPE_Mystery,
            GCTYPE_Earthcache,
            GCTYPE_Wherigo,
        ].indexOf(gctype)) {
            console.debug('No Usefull type: ' + gctype);
            return;
        }
        $('#ctl00_ContentBody_GeoNav_logButton').after('<a id="' + link_id.substr(1) + '" class="btn btn-primary" data-color="#009bbb" data-color-high="#00ccff" data-color-state="color" style="margin-top: 14px; background-color: #009bbb; border-color: #009bbb" onmouseenter="$(\''+link_id+'\').css(\'background-color\', $(\''+link_id+'\').data(\'colorHigh\')).css(\'border-color\', $(\''+link_id+'\').data(\'colorHigh\')).data(\'colorState\', \'colorHigh\')" onmouseout="$(\''+link_id+'\').css(\'background-color\', $(\''+link_id+'\').data(\'color\')).css(\'border-color\', $(\''+link_id+'\').data(\'color\')).data(\'colorState\', \'color\')">GeoLeaks</a>');
        if (
            (GCTYPE_Mystery === gctype) &&
            (LOGTYPE_Found !== logtype) &&
            (!coords) &&
            (-1 === gcname.toLowerCase().indexOf('bo nus')) &&
            (-1 === gcname.toLowerCase().indexOf('challenge'))
        ) {
            checkGeoleaks();
        }
        $(link_id).click(function() {
            var href = $(link_id).attr('href');
            if (href) {
                if ('#search' === href) {
                    var form = $(form_id);
                    if (0 === form.length) {
                        form = $('<form />', {
                            'method': 'post',
                            'target': cfg.get('open_in_new_window') ? '_blank' : '_self',
                            'action': 'https://geoleaks.com/forum/search.php'
                        }).append(
                            $('<input />', { 'name' : 'action', 'value' : 'do_search' }),
                            $('<input />', { 'name' : 'keywords', 'value' : gccode }),
                            $('<input />', { 'name' : 'postthread', 'value' : 2 })
                        )
                            .css('display', 'none')
                            .appendTo($(document.body))
                        ;
                    }
                    form.submit();
                    return false;
                }
                return true;
            }
            checkGeoleaks();
        });
    }
    if (window.top == window.self) {
        switch (window.location.hostname) {
            case 'www.geocaching.com' : geocaching(); break;
            case 'geoleaks.com' : setInputFields(); break;
            default : console.error('Unknown hostname: ' + window.location.hostname); break;
        }
    }
}());

Verder geen garanties hoor ! ;-) Dit is voorlopig enkel bij mezelf in Edge getest.


Berichten in dit topic
Problemen met Geoleaks script - door neelix - 20-07-2023, 10:06
RE: Problemen met Geoleaks script - door GeoLeaks - 03-08-2023, 20:13
RE: Problemen met Geoleaks script - door MRVREV - 22-08-2023, 00:14
RE: Problemen met Geoleaks script - door GeoLeaks - 22-08-2023, 14:45
RE: Problemen met Geoleaks script - door Murka - 16-07-2026, 16:06
RE: Problemen met Geoleaks script - door GeoLeaks - 16-07-2026, 18:33
RE: Problemen met Geoleaks script - door Murka - 16-07-2026, 19:02
RE: Problemen met Geoleaks script - door dellato - 25-07-2026, 15:31
RE: Problemen met Geoleaks script - door GeoLeaks - 25-07-2026, 17:37
RE: Problemen met Geoleaks script - door dellato - 25-07-2026, 21:44
RE: Problemen met Geoleaks script - door GeoLeaks - 25-07-2026, 21:50
RE: Problemen met Geoleaks script - door dellato - 25-07-2026, 21:52

Ga naar locatie:


Gebruikers die dit topic lezen: 10 gast(en)
Mark All Forums Read











Archiefmodus | Contact opnemen | GeoLeaks Geocaching Forum | Naar boven | | RSS-syndicatie | Tapatalk App Mobiel forum