Krautkanal.com

Veröffentlicht am 2017-01-05 23:20:28 in /prog/

/prog/ 9708: Hallo Bernd! Ich möchte ein greasemonkeyscript, d...

kennyadr Avatar
kennyadr:#9708

Hallo Bernd!
Ich möchte ein greasemonkeyscript, das einen Ausdruck in einer URL einer bestimmte Seite sucht und diesen Teil durch etwas ersetzt. Und dann sollte es vermutlich die Seite neu laden.

Ich weiß, dass das vermutlich mit einer Zeile getan ist, leider habe ich von javascript keine Ahnung und bin zu doof die erforderlichen Suchbegriffe in google einzugeben. Bild relatiert, da gehöre ich auch dazu.
Ich habe auch den Sticky gelesen. Keine Angst, das ist keine Hausaufgabe, ich versuche Wichsbilder herunterzuladen.

dmackerman Avatar
dmackerman:#9710

Das ist was ich jetzt selbst versucht habe. Stimmt das soweit?
Und wie bekomme ich das jetzt wieder in die Adresszeile?


// ==UserScript==
// @name webstagram groß
// @namespace bastelei1
// @description löscht 640x640 aus der url um das image in voller größe laden zu lassen
// @include https://scontent.cdninstagram.com/*
// @version 1
// @grant none
// ==/UserScript==

var anschrift = window.location.protocol + "//" + window.location.host + window.location.pathname;

anschrift = anschrift.replace('/s640x640','')
anschrift = anschrift.replace('/p640x640','')


Die Zeile steht da doppelt, weil zwei verschiedene Sachen dastehen können, die aber soweit ich sehe das gleiche bewirken und ich nicht weiß wie man wildcards benutzt.

keremk Avatar
keremk:#9712

// ==UserScript==
// @name webstagram groß
// @namespace bastelei1
// @description löscht 640x640 aus der url um das image in voller größe laden zu lassen
// @include https://scontent.cdninstagram.com/*
// @version 1
// @grant none
// ==/UserScript==




var anschrift = window.location.protocol + "//" + window.location.host + window.location.pathname;

anschrift = anschrift.replace('/s640x640','')
anschrift = anschrift.replace('/p640x640','')

location = (anschrift);

So habe ich es jetzt.
Und es macht was es soll.
Kann es sein, dass es ohne unterlass durchläuft?
Oder läuft das nur einmal durch?

i_ganin Avatar
i_ganin:#9714

Nachtrag:

Ich hab versucht eine Schleife einzubauen, aber das hat nicht funkioniert, sah ungefähr so aus:

for (i = 0; i < 1; i++) {

var anschrift = window.location.protocol + "//" + window.location.host + window.location.pathname;

anschrift = anschrift.replace('/s640x640','')
anschrift = anschrift.replace('/p640x640','')

location = (anschrift);
}



Dann hab ich noch das versucht:

var bremse = window.location.protocol + "//" + window.location.host + window.location.pathname;

n = bremse.include("640x640")

for (; n = true; ) {

var anschrift = window.location.protocol + "//" + window.location.host + window.location.pathname;

anschrift = anschrift.replace('/s640x640','')
anschrift = anschrift.replace('/p640x640','')

location = (anschrift);
}

Das hat aber auch nicht funktioniert.

BillSKenney Avatar
BillSKenney:#9717

Bernd hat keine Ahnung von Greasemonkey, aber in reinem JS würde er es so machen:
var oldUrl = window.location.href;
var newUrl = oldUrl.replace(/[ps]640x640/, '');
if (newUrl != oldUrl) {
window.location.href = newUrl;
}

ryanjohnson_me Avatar
ryanjohnson_me:#9718

>>9717

Das funktioniert! Vielen lieben Dank!

murrayswift Avatar
murrayswift:#9719

>>9714

samscouto Avatar
samscouto:#9720

>>9719

Sei bitte nicht traurig, ich habe keine Ahnung vom Programmieren und habe mir das wild im Internet zusammengeklickt.
Mein erster Versuch.

Neuste Fäden in diesem Brett: