original-title Tooltips deaktivieren

  • Hi, ein Beispiel-Link:

    a href="javascript:System.page.map.callMethod('open');" original-title="Landkarte"

    original-title enthält den Tooltip. Ich möchte solche Anzeigen deaktivieren. Versuche mit Scriptish, u.a. Leerstring "" und none brachten keinen Erfolg.

    Bzw. kann ein Eintrag in userChrome.css oder userContent.css das benötigte Ergebnis bringen?

  • Hallo.

    Ich glaube, mit der userContent.css geht da nichts; Scriptish ist schon das richtige.
    So in etwa müsste es gehen:

    Code
    var elems = document.getElementsByTagName('a');
    for (var elem of elems) {
    	elem.removeAttribute('original-title');
    };


    Hast du einen Link zu einer solchen Seite?

  • 8) , Danke, der Script hilft schon sehr. Habe auch einen Script für 'div' platziert. Die Tooltips der Seite werden einwandfrei deaktiviert.

    Gegen Tooltips auf Popups wirkt es allerdings nicht in jedem Fall.

    Es ist ein Spiel: http://game5.farmersgame.de/

    Der Link zum Dorf-Popup: javascript:System.page.village.callMethod('open');
    Elemente-Quelltext:

    Code
    <div id="village">
    	<div original-title="<b>Rathaus</b>" onclick="System.page.village.openShop('townhall');" class="hover shop" style="left: 325px; top: 315px;"></div>


    Popups der Trainingsliste:


    Popups des Arbeits-Menüs:

    Code
    <div original-title="" data-tool_name="seedtool" id="tool_seedtool" class="tool tool_selected tool_seedtool_icononly">
    				<div style="display: block;" class="close_button"></div>
    				<div style="display: block;" class="orderlist"><div onclick="System.tools.seedtool.enableOrder('grass_hay');" original-title="Gras" data-order_name="grass_hay" class="order order_seed image object_grass_hay"><span id="storage_grass_hay">15


    Wenn ich die Ausführung setze auf:
    // @run-at document-start
    werden auch die Tooltips der Popups des Arbeits-Menüs unterdrückt.

    Die Tooltips der beiden oberen Popups kann ich mit der run-at Methode nicht erreichen.


    edit: Ich muss nach jeder Aktion das Dokument neu laden, damit der Script wirkt.

  • Wie ist es mit
    // @run-at document-start
    und diesem Skript:

    Code
    var observer = new MutationObserver(function(mutations) {
       for (mutation of mutations) {
          for (node of mutation.addedNodes) {
             if (node.nodeName == 'A' || node.nodeName == 'DIV') {
    				node.removeAttribute('original-title');
             };
          };
       };
    });
    observer.observe(document, {childList: true, subtree: true});
  • Hmm. Mit folgender Variante ist das Ergebnis am besten:


    Ich muss die Seite nicht neu laden, F5 ist nicht nötig.
    Die oberen beiden Popup-Varianten sind nach wie vor nicht erreichbar.

  • Versuchen wir etwas anderes:

  • Nun kann ich zwar den Script nicht mehr nachvollziehen, doch er funktioniert perfekt. Die Tooltips auf allen Popups sind weg, ich muss die Seite nach Aktionen nicht aktualisieren. 8)

    Hab ganz großen Dank, aborix. Du hast enorme Mühe investiert. Ich will versuchen, die Syntax verstehen zu lernen.

  • Gern geschehen. :)

    Die DIV-Elemente im Dorf und der Trainingsliste (und noch anderen Popups) werden in Beitrag 4 vom Mutation Observer nicht erfasst. Ich habe keine Ahnung, warum.
    Ich habe außerdem bemerkt, immer wenn ein Tooltip erscheint, wird im DOM ein Element hinzugefügt und beim Verschwinden des Tooltips wieder entfernt. Alle diese Elemente haben den Klassennamen "tipsy". Im letzten Skript werden diese Elemente sofort nach ihrem Auftreten wieder entfernt. Das bewirkt offenbar das Nichtanzeigen der Tooltips.

  • Kein Wunder, dass ich den Script NULL verstand. 'tipsy' führte mich bei der Suche zu jQuery... Aber gut. Zumindest sehe ich nun schon mal die Zusammenhänge. Hab Dank für die Recherchen.