• Das Erstellen neuer Accounts wurde ausgesetzt. Bei berechtigtem Interesse bitte Kontaktaufnahme über die üblichen Wege. Beste Grüße der Admin

Greasemonkey - fremde Webseite anpassen - DIV IDs ausblenden/löschen

White

New member
Hallo,

vorab muss ich sagen, ich bin Neuling was Programmierung angeht und hoffe ihr könnt mir weiterhelfen.

Ich versuche bei einer Seite bestimmte div Ids auszublenden, die ich im Quelltext der Seite gefunden habe. Hab mal eine Bild gemacht, damit man weiß worum es geht.
Bild111.jpg

Die rot markierten Divs möchte ich gerne löschen/ausblenden etc. damit die Webseite etwas anders aussieht beim Öffnen, ohne dass ich die Webseite jedes Mal mit Firebug bearbeiten muss per Hand.

Code:
var div = document.getElementById("divPanel");
div.parentNode.removeChild(div);

var div2 = document.getElementById("total");
div2.parentNode.removeChild(div2);

Den Code habe ich versucht (und noch einiges anderes) allerdings funktioniert es nicht, es passiert nichts.

Wenn ich aber zB testweise die ID "main" in die Klammer schreibe, dann wird die Webseite verändert. Wieso klappt es nicht, wenn ich "divPanel" oder "total" in die Klammer schreibe? Komme nicht weiter. Liegt es daran, dass die verschachtelt sind?

Code:
var div = document.getElementById("main");
div.parentNode.removeChild(div);

--> funktioniert

Wäre über Hilfe dankbar.
 
Wieso klappt es nicht, wenn ich "divPanel" oder "total" in die Klammer schreibe?
Wahrscheinlich werden diese Elemente erst erzeugt, wenn das GM-Skript schon durchgelaufen ist. In diesem Fall solltest du eine Meldung in der Fehlerkonsole bekommen.
Liegt es daran, dass die verschachtelt sind?
Nein.

Wäre über Hilfe dankbar.
Ich würde das nicht über GM machen, sondern über ein anderes AddOn: Stylish. Damit kannst du eigene CSS-Regeln definieren. Blende hier die Elemente einfach über ein display: none !important; aus.
 
weitere möglichkeit:
Code:
$(document).ready(function() {

   $("#divPanel").hide();
   $("#total").hide();
});

und später über function wieder aufrufen.
Aber dran denken jquery im head einbinden.
 
Wobei auch hier nicht ganz klar ist, ob die <div>s schon im ready vorhanden sind. Das CSS greift hald immer.
 
Hab es jetzt mit Stylish probiert. Aber leider ist da genau das gleiche Problem wie mit GM.

Code:
#divPanel { display: none !important; }

Den Code habe ich versucht, aber auch da passiert nichts. Oder habe ich irgendwo einen Fehler drin bzw muss etwas anders machen?
Wenn ich den gleichen Code und dann statt "divPanel" testweise wieder "main" nehme, dann funktioniert der Code.


xcyberpunk
Würde ich auch ausprobieren, aber ich bin Neuling auf dem Gebiet und weiß nicht wie man jquery im head einbindet.
 
Zuletzt bearbeitet:
Hab' mir erst jetzt den Screenshot genauer angesehen. Das divPanel liegt ja in einem iFrame. Du musst also das CSS auf der Adresse im iFrame registrieren.
 
Das iframe ändert sich ja jedes Mal beim betreten der Seite. Gibt es eine Chance das iframe "auszutricksen", zB indem man den Code sehr allgemein hält oder bei der URL Angabe bei CSS mit "*" arbeitet oder ähnliches? Oder keine Chance?
 
Aber wenigstens die Domain des iFrame wird doch immer die gleiche sein? Stell' einfach die bei Stylish ein.
 
Danke, über Domain hat es komischerweise nicht geklappt, aber mit "regexp". ;)

Eine Kleinigkeit noch: Hyperlink (Bild) entfernen, geht ja normalerweise über a:link { display: none !important; }.
Dann sind alle Hyperlinks weg. Kann ich denn einzelne Hyperlink löschen, wenn ich die die Ursprungs-Url habe von dem Bild des Hyperlinks? Wenn ja, wie?
Oder ist es vielleicht einfacher, diese URL aufzurufen, wo das Hyperlink-Bild gelagert ist und dann den kompletten Body oder das Bild dieser Url zu blockieren?
 
Hat denn das <a> oder das <img> eine ID? Oder lassen die sich sonst irgendwie eindeutig identifizieren? Wenn ja, musst du daraus einen CSS-Selektor machen. a:link ist einfach viel zu generell, wie du schon gemerkt hast.
Wenn du ein bestimmtes Bild ausblenden willst, könntest du das über img[src='URL_ZUM_BILD'] ansprechen.

Oder ist es vielleicht einfacher, diese URL aufzurufen, wo das Hyperlink-Bild gelagert ist und dann den kompletten Body oder das Bild dieser Url zu blockieren?
Ich hab' keine Ahung, was du damit meinst...
 
Zurück
Oben