php.de

Zurück   php.de > Webentwicklung > JavaScript, Ajax und mehr

JavaScript, Ajax und mehr dynamisches Scripten und Interaktion auf Clientebene

Antwort
 
LinkBack Themen-Optionen Thema bewerten
Alt 09.09.2010, 19:44  
noop
Gast
 
Beiträge: n/a
Standard [Erledigt] Greasmonkey / Eigenes Script / Aussehen verändern

Hi,

Greasmonkey werden sicherlich einige kennen. Es handelt sich hier um ein Plugin für den FF. Hier kann man eingene Scripte in JavaScript erstellen.

Das klappt auch schon ganz gut. CSS + gewisse Tabellenformen kann ich schon ansprechen bzw. entfernen/ändern.

Nur leider finde ich keine Funktion, wo ich ein Bild gegen ein anderes austauschen kann.

Beispiele:

Wenn ich eine CSS Änderung machen will:
Code:
htmlElement.style.CSSEigenschaft = "NeuerWert";
Wenn ich z.B. bei map24 in der Druckvorschau die Werbung wegschneiden will:
Code:
var adSidebar = document.getElementById('<td valign="top" align="right">');
if (adSidebar) {
    adSidebar.parentNode.removeChild(adSidebar);
}
Nur wie ich ein Element gegen ein anderes austauschen kann, finde ich nicht.

Table of contents [Dive Into Greasemonkey] <= hier sind etliche Beispiele... aber nicht das was ich suche... oder ich suche falsch.

Hier gibt es ein Code, was aber auf ID bassiert. Die HP, die ich ändern will, verwendet für das Bild aber weder ID noch CLASS.
Code:
var theImage, altText;
theImage = document.getElementById('annoyingsmily');
if (theImage) {
    altText = document.createTextNode(theImage.alt);
    theImage.parentNode.replaceChild(altText, theImage);
}
Quelle: 4.10.Replacing an element with new content [Dive Into Greasemonkey]



Dieses Element will ich ansprechen und gegen ein anderen Bildnamen ändern.
Code:
<img width="32" height="32" border="0" src="/icons/32x32/add.gif">
Weiß einer Rat ?
  Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 09.09.2010, 20:20  
Moderator¹
 
Registriert seit: 28.03.2010
Beiträge: 7.470
PHP-Kenntnisse:
Fortgeschritten
ChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer Anblick
Standard

Zitat:
Zitat von noop Beitrag anzeigen
Wenn ich z.B. bei map24 in der Druckvorschau die Werbung wegschneiden will:
Code:
var adSidebar = document.getElementById('<td valign="top" align="right">');
Ich glaube kaum, dass die Methode mit dieser - reichlich ungültig aussehenden - ID irgendwas anfangen kann ...

Zitat:
Nur wie ich ein Element gegen ein anderes austauschen kann, finde ich nicht.
Wieder mal - am Problem vorbei formuliert

Zitat:
Die HP, die ich ändern will, verwendet für das Bild aber weder ID noch CLASS.
Dann such dir einen anderen Weg, Zugriff auf das Element zu bekommen.

Das kann bspw. über seine „Nachbarschaft“ geschehen - in welchem Element befindet es sich, von welchem Element ist es ein Geschwisterknoten und der wievielte, etc.

Was du dazu brauchst, ist ein bisschen Wissen über den Umgang mit dem DOM.
__________________
RGB is totally confusing - I mean, at least #C0FFEE should be brown, right?
ChrisB ist offline   Mit Zitat antworten
Alt 09.09.2010, 20:33  
noop
Gast
 
Beiträge: n/a
Standard

Zitat:
Zitat von ChrisB Beitrag anzeigen
Ich glaube kaum, dass die Methode mit dieser - reichlich ungültig aussehenden - ID irgendwas anfangen kann ...
Du vermutest falsch... klappt einwandfrei. kann direkt drucken ohne einen fetten Werbebanner mit im Druckbild zu haben.


Soweit bin ich jetzt schon mal:
Es wird alles rausgesucht, wo img vorkommt.

Dann soll nach ein Bildnamen gesucht werden und mit ein anderes Bild ersetzt werden.

Leider greift folgendes Script nicht. Debugging auf fremde Seiten is da ein bissel schwierig

Code:
var images = document.getElementsByTagName("img");

for (var i = 0; i < images.length; i++) {
  var elem = images[i];
  if (elem.src == "add.gif")
    elem.src = "error.gif";
}
  Mit Zitat antworten
Alt 09.09.2010, 20:38  
moderatives Dielektrikum
 
Benutzerbild von nikosch
 
Registriert seit: 21.05.2008
Beiträge: 34.255
PHP-Kenntnisse:
Fortgeschritten
nikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz sein
Standard

Zitat:
Du vermutest falsch... klappt einwandfrei. kann direkt drucken ohne einen fetten Werbebanner mit im Druckbild zu haben.
Das ist Unsinn. Eine ID ist eine ID, kein DOM-Value.

DOM ist auch schon das Stichwort - Greasemonkey arbeitet komplett auf Javascript. Also ist alles, was Du brauchst auch dort zu suchen.
__________________
--
One pixel is still too big. Please make it smaller. ASAP.

Initiative Mittelstand.
Die wichtigste Gestaltungsregel im Screendesign ist Pi mal Daumen des Arbeitgebers.
--
nikosch ist gerade online   Mit Zitat antworten
Alt 09.09.2010, 20:41  
Moderator¹
 
Registriert seit: 28.03.2010
Beiträge: 7.470
PHP-Kenntnisse:
Fortgeschritten
ChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer Anblick
Standard

Zitat:
Zitat von noop Beitrag anzeigen
Du vermutest falsch... klappt einwandfrei. kann direkt drucken ohne einen fetten Werbebanner mit im Druckbild zu haben.
Kann ich auf map24 auch - auch wenn ich mein AdBlock deaktiviere, und ohne irgendwelches zusätzliche JavaScript.

Ich vermute, dass die die Werbung im Druck-Stylesheet einfach ausblenden, weil sie selber wissen, dass Werbung, die geklickt werden will, auf Papier nicht allzu viel Sinn ergibt ...

Zitat:
Leider greift folgendes Script nicht. Debugging auf fremde Seiten is da ein bissel schwierig
Das dürfte auch nicht schwieriger sein, als auf eigenen Seiten auch.

Was hast du denn konkret zwecks Debugging unternommen? Beschreibe das bitte mal!

Zitat:
Code:
  var elem = images[i];
  if (elem.src == "add.gif")
Lautet die Bildadresse so ...?
__________________
RGB is totally confusing - I mean, at least #C0FFEE should be brown, right?
ChrisB ist offline   Mit Zitat antworten
Alt 09.09.2010, 20:41  
noop
Gast
 
Beiträge: n/a
Standard

Zitat:
Zitat von nikosch Beitrag anzeigen
Das ist Unsinn. Eine ID ist eine ID, kein DOM-Value.
Mag sein, das das korrekt ist. Ändert aber nichts daran, das in der Druckvorschau von Map24 die Spalte mit der Werbung entfernt wird.
  Mit Zitat antworten
Alt 09.09.2010, 20:42  
Moderator¹
 
Registriert seit: 28.03.2010
Beiträge: 7.470
PHP-Kenntnisse:
Fortgeschritten
ChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer Anblick
Standard

Zitat:
Zitat von noop Beitrag anzeigen
Mag sein, das das korrekt ist. Ändert aber nichts daran, das in der Druckvorschau von Map24 die Spalte mit der Werbung entfernt wird.
Nur ist das vermutlich(!) nicht dein Verdienst bzw. der deines fehlerhaften Scriptes - s.o.
__________________
RGB is totally confusing - I mean, at least #C0FFEE should be brown, right?
ChrisB ist offline   Mit Zitat antworten
Alt 09.09.2010, 20:50  
noop
Gast
 
Beiträge: n/a
Standard

Zitat:
Zitat von ChrisB Beitrag anzeigen
Was hast du denn konkret zwecks Debugging unternommen? Beschreibe das bitte mal!
Ich habe mir per alert Fenster alle gefunden <img> ausgeben lassen.

alert(elem.src);


Zitat:
Zitat von ChrisB Beitrag anzeigen
Lautet die Bildadresse so ...?
Das war der ausschlagende Tipp.
Ich habe nur den Bildernamen ersetzen wollen.
Nachdem ich aber die komplette http:// Adresse eingegeben habe, hat es nun endlich geklappt.

Danke
  Mit Zitat antworten
Antwort


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Scriptsuche Kommentar Script HipHopFreak Scriptbörse 3 26.08.2010 12:55
Aussehen vieler generierter Seiten auf einmal verändern? Auch ohne DOM möglich? haemoglobin Off-Topic Diskussionen 2 24.08.2009 23:49
Eigenes "Ping" (xml-rpc) Script WTB PHP-Fortgeschrittene 0 17.11.2007 16:58
phpBB Loginscript in eigenes Login Script einbinden 2wuck PHP Tipps 2007 4 19.12.2005 23:10
benutzer+passwort script verändern... PHP Tipps 2005-2 24 21.07.2005 21:50
Eigenes Script Dokumentieren Beitragsarchiv 5 17.07.2005 18:07
[Erledigt] Verzögerung durch included Script? Umgehen? PHP Tipps 2005-2 4 10.07.2005 19:26
[Erledigt] Relay Script PHP-Fortgeschrittene 11 01.06.2005 16:02
[Erledigt] Hilfe bei Download Verwaltungs Script PHP Tipps 2005 8 04.05.2005 10:29
Adresszeile soll sich nicht verändern, script? PHP Tipps 2005 12 26.03.2005 00:23
eigenes news script PHP Tipps 2005 15 09.03.2005 15:12
Eigenes Script archiv script? Beitragsarchiv 2 20.01.2005 21:39
"das" Script oder "der" Script?? Simbo Off-Topic Diskussionen 31 16.09.2004 17:04
http header verändern - script zum browser machen PHP Tipps 2004 11 06.07.2004 17:43

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
greasemonkey class verstecken, greasmonkey

Alle Zeitangaben in WEZ +1. Es ist jetzt 20:31 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum