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

[GREASEMONKEY] Link Addresse mit :contains suchen

Hopi

New member
Hallo,

ich fang einfach ma an^^ .

Ich bin derzeit dabei mir Javascript anzueignen und hab mir als erstes Ziel gesetzt ein Greasemonkey-Script zu schreiben.
Das Script soll für mich auf bs.to automatisch zur nächsten Folge schalten nach ablauf einer gesetzten Zeit.

Ich habe mich dazu entschlossen den fertigen Link zur nächsten Folge, mittels Javascript zusammen zu bauen.
Da das a href keine ID hat kann ich es nicht mit getElementById() ansprechen. ( Und ich keine passende Alternative gefunden habe )

Syntax des Links: "bs.to/serie/serienname/staffelnr/folgenname/host-1"
Beispiel: "bs.to/serie/Die-Simpsons/1/1-Es-Weihnachtet-Schwer/Streamcloud-1"
Beispiel 2te Folge: "bs.to/serie/Die-Simpsons/1/2-Bart-wird-ein-Genie/Streamcloud-1"

Wie man hier sieht ändert sich nur die Nummer der Folge und der Name.

Da ich natürlich nicht immer den Namen der Folgen eintippen möchte, suche ich mittels des jquery selectors :contains denn Link der /serie/serienname/staffelnr/i+'-' enthält.
Nur leider scheinter es schon hier da ich :contains einfach nicht zum laufen bekomme.

Hier mal das bisschen was ich bis jetzt habe.

Code:
//==UserScript==
// @name        Burning Series
// @namespace   bs.to
// @description Folgen Switcher
// @include     [url]http://bs.to/serie/*[/url]
// @require     [url]http://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js[/url]
// @version     1
// @grant       none
// ==/UserScript==

var seriename;
var staffelnr;
var Anzahlfolgen;
var laenge;
var host;
var url;
var i;


seriename = prompt ("Serien Name:", "");
staffelnr = prompt ("Staffelnr:", "");
i = prompt ("Start Folge:", "");
Anzahlfolgen = prompt ("Anzahl aller Folgen:", "");
laenge = prompt ("Länge:", "");
host = prompt ("Host:", "");

url = $('a:contains("'seriename + '/' + staffelnr + '/' + i + '-''")');
alert(url);

alert(url) gibt immer nur objekt Objekt zurück und nicht den kompletten Link.

Vielleicht hat ja einer von euch schon mal mit :contains gearbeitet und kann mir meinen Fehler aufzeigen. Ich hoffe ich hab es einigermaßen verständlich formuliert.

Danke schon mal<3

mfg
Hopi
 
das sieht mir ja beinahe nach nem grauzonen streaming portal aus :p

was erwartest du denn für ein ergebnis? Ein Array? du musst damit auch was machen, contains sucht dir ja erstmal alle mit den suchbegriff raus, du könntest jetzt einen data-tag einbinden mit der Folge und diesen dann in ein array packen
 
oh dann schein ich das mit dem :contains falsch verstanden zu haben... ich dachte eigentlich das es mir den kompletten link zur folge liefern würde. So dass ich nicht den Name der folgen eintippen muss.
Das mit dem data-tag werde ich mir gleich mal anschauen vielen Dank schon mal dafür.

Edit: Könntest du vielleicht noch einmal genauer werden was du mit data-tag meinst?

Edit2: Ich hab das ganze jetzt nochmal ein wenig umgebaut und ein .data hinzugefügt.
Nun bekomm ich zwar nicht mehr ein leeres alert Fenster aber dafür ein null ausgegeben.
Könnte es sein das ich das .data(jquery) tag falsch angewand habe ?

Code:
preurl = "bs.to/serie/"+seriename+"/"+staffelnr+"/"+i+"-";
alert(preurl);

url = $('a:contains('+preurl+')').data();
alert(url);

Edit3: Oh man ich stand ja richtig auf dem Schlauch habs jetzt hinbekommen ... Danke
 
Zuletzt bearbeitet:
Oh man ich stand ja richtig auf dem Schlauch habs jetzt hinbekommen ... Danke
Dann schreib' doch bitte hier noch deine Lösung. Für kommende Suchende.

PS: Genau deswegen ist alert zum Debuggen auch nicht ideal. Besser ist console.log(). Da kannst du dann solche Objekte direkt inspizieren.
 
Zurück
Oben