Themabewertung:
  • 0 Bewertung(en) - 0 im Durchschnitt
  • 1
  • 2
  • 3
  • 4
  • 5
Von Script geöffneten Tab schließen?
#1
Hallo,
ich erläutere mal kurz, worum es geht:
Ich will mir ein Greasemonkey Script bauen für Folgendes:
Ich habe eine Seite, auf der ich mich einlogge.
Das Ganze prozedere kriege ich vermutlich hin, halt sucherei nach Button Elementen in der DOM.
sobald eingeloggt, muss auf 2 buttons (bzw. bilder mit hinterlegter url) geklickt werden.
Die dabei geöffneten Sahcen werden in je einem neuen Tab geöffnet, die können sofort wieder zugemacht werden.
wichtig ist dass auf die 2 bilder geklickt wurde.

Und dann wieder ausloggen.

Dürfte ich, wenn auch mit Aufwand, hinkriegen.

Nur das Problem:
Nach dem klicken auf die 2 URL Bilder  werden ja 2 neue Tabs geöffnet.
Kann man die irgendwie mit javascript wieder schließen?
Bei den 2 zu klickenden sachen handelt es sich um ad kram, also was da in den 2neuen tabs geöffnet wird, ist unklar und nicht immer dasselbe.


Kann man da irgendwie diese 2 Tabs wieder zumachen lassen?
Zitieren
#2
Meinst du das so ungefähr


Der Code funktioniert hier im Beispiel so nicht. Bei mir in Tampermonkey läuft es aber.
Falls dir das nicht hilft, poste doch mal deinen Code, den du jetzt hast und wie du die Fenster öffnest
Hier sind alle meine Lösungen aus allen Foren. Ich helfe auch in Facebook-chat
Zitieren
#3
(25.06.2022, 17:55)admin schrieb: Meinst du das so ungefähr


Der Code funktioniert hier im Beispiel so nicht. Bei mir in Tampermonkey läuft es aber.
Falls dir das nicht hilft, poste doch mal deinen Code, den du jetzt hast und wie du die Fenster öffnest

Code in dem SInne habe ich bisher noch Keinen, ich bin eher in der Phase wo ich mich informiere ob alle nötigen Zwischenschritte (Einloggen, links klicken, die durch die geklickten links aufgegangenen tabs wieder zu machen, ausloggen) alle mit javascript überhaupt machbar sind oder ob ich mich noch mit einer anderen Srache, methode oder so befassen müsste.

Blöd halt, dass Tampermonkey und Ähnliches immer nur auf einer bestimmten, fest hardgecodeten Seite funktioniert und nur auf der gerade aktiven Seite/Tab Änderungen vornehmen kann. Wobei das vermutlich bei javascript generell so ist.

Ich hätte gerne versucht, deinen COde mal zu testen, aber bin mir gerade unsicher wie.
Also wie ich das bei Tampermonkey benutze oder was in das "include" muss und so.

Habe von tampermonkey nicht so die große ahnung, klaue mir generell meist die scripts von anderen Leuten zusammen :-)

Edit: Ich muss mal bis morgen warten bis die nächste Runde Adsklicken ansteht, dann gucke ich mal was für eine Art von html Element die Adlinks sind.
Aber vermutlich a bzw. a href, nur halt irgendwie mit Bild statt Text.

Wohl sowas wie <a href=“Link.html“><img src=“bild1.png“ alt="alternativer_text"></a>, vermute ich mal.
Aber morgen weiß ich es dann genau :-)
Zitieren
#4
Ich bin mir gerade nicht sicher, aber wenn es a Links sind weiß ich gerade nicht, ob das klappt.
Man könnte aber die a Links mit Javascript auslesen und mit window.open öffnen und dann natürlich wieder auch schließen.
Schau mal morgen nach wie de HTML Code aussieht von den geklickten Links / Buttons oder sonst was , und meld dich dann nochmal.
Ich muss das gleich mal testen , weil habe mir da auch noch nie ein Kopf drüber gemacht.

Was Tampermonkey und Greasemonkey nicht kann , kann man aber mit Add-ons machen , ist aber etwas komplizierter und da bin ich auch erst gerade bei mir das anzulernen
Hier sind alle meine Lösungen aus allen Foren. Ich helfe auch in Facebook-chat
Zitieren
#5
(25.06.2022, 20:54)admin schrieb: Ich bin mir gerade nicht sicher, aber wenn es a Links sind weiß ich gerade nicht, ob das klappt.
Man könnte aber die a Links mit Javascript auslesen und mit window.open öffnen und dann natürlich wieder auch schließen.
Schau mal morgen nach wie de HTML Code aussieht von den geklickten Links / Buttons oder sonst was , und meld dich dann nochmal.
Ich muss das gleich mal testen , weil habe mir da auch noch nie ein Kopf drüber gemacht.

Was Tampermonkey und Greasemonkey nicht kann , kann man aber mit Add-ons machen , ist aber etwas komplizierter und da bin ich auch erst gerade bei mir das anzulernen

Eine vielleicht umständliche Idee die ich gerade so hatte:
Es gibt ja diesen Session Storage und sowas.

Mein Gedanke:
Wenn ich die Seite offen habe mit den 2 zu klickenden Links (egl jetzt mal ob als Bild, Text oder URL), dann könnte ich ja hingehen, die beiden URLs auslesen, diese im session storage bspw. mit variablen "scriptlink1" und "scriptlink2" abspeichern und danach klicken.

Und andererseits könnte ich ein zweites script haben, das auf JEDER Seite angewendet wird und guckt ob die url der aktuellen Seite mit der URL einer der beiden Variabeln übereinstimmt.
Falls ja, lösche jene Variable aus dem storage und mache den tab oder das fenster zu.


Wobei es vermutlich wieder dran scheitern wird dass gewisse Volltrottel von Programmierer meinten, man müsse es so bauen dass window.close() nur für mit window.open() geöffnete sachen funktioniert.




Generell: Endpunkt all meienr Probleme ist einfach dass die seite es so mitkregen muss dass ich auf die links geklickt habe.

Falls man auf die links klicken kann und aber das wirkliche öffnen in einem tab oder fenster unterbinden kann (ich denke da richtung poup blocker oder so), wäre das natürlich am Besten :-)
Zitieren
#6
Ich habe ein Tampermonkey Script laufen , das bei ebesucher die Links anklickt , watet eine bestimmte Zeit , dann die Jackpots findet und klickt und dann die Seite wieder schließt.

Was du da hast, kommt mir so ähnlich vor. Zeig mal morgen den HTML Code zu den Links , dann kann man da schon besser helfen.
Localstorage könnte man nutzen , obwohl Greasemonkey GM_setValue benutzt , aber das ist nicht schlimm.
localstorage funktioniert nur auf der Seite wo es gespeichert wurde , GM_setValue sollte eigentlich auf allen Seiten abfragbar sein.

Deswegen wäre dein Hintergrund , was du da genau vorhast gut zu wissen , weil du ja erst die Seiten speichern willst und dann auf anderen Seiten wieder drauf zugreifen willst
Hier sind alle meine Lösungen aus allen Foren. Ich helfe auch in Facebook-chat
Zitieren
#7
(25.06.2022, 22:28)admin schrieb: Ich habe ein Tampermonkey Script laufen , das bei ebesucher die Links anklickt , watet eine bestimmte Zeit , dann die Jackpots findet und klickt und dann die Seite wieder schließt.

Was du da hast, kommt mir so ähnlich vor. Zeig mal morgen den HTML Code zu den Links , dann kann man da schon besser helfen.
Localstorage könnte man nutzen , obwohl Greasemonkey GM_setValue benutzt , aber das ist nicht schlimm.
localstorage funktioniert nur auf der Seite wo es gespeichert wurde , GM_setValue sollte eigentlich auf allen Seiten abfragbar sein.

Deswegen wäre dein Hintergrund , was du da genau vorhast gut zu wissen , weil du ja erst die Seiten speichern willst und dann auf anderen Seiten wieder drauf zugreifen willst

Siehe Screenshots.
Diese kotzbeschissene Seite hier lässt mich Sachen mit insgesamt >500kb nicht hochladen, wie es mir erst nach dem versuchten hochladen sagt.
Geschriebener Text ist natürlich komplett weg, habe ihn natürlich auch nicht in der Zwischenablage und ich schreibe den Mist kein 2. Mal.
Daher einfach den Screenshots folgen, müsste selbsterklärend sein.
Bei Fragen einfach melden.

Edit: Achja, man darf auch nur 5 Attachments haben.
Kriegt man auch erst NACH(!!!) dem Hochladen gesagt. Und wieder Text qeg, wenn ichb ihn diesmal nicht vorher kopiert hätte(!!!!)
Webseitenersteller hat hier gut Mist gebaut -.-
So viel zu "Es stehen Ihnen Unbegrenzt zum Speichern von Attachments zur Verfügung. Sie verwenden zur Zeit ... KB. "

"
  • Die Nachricht fehlt. Bitte geben Sie eine Nachricht ein."


Buttern wie mit Muddern


Angehängte Dateien Thumbnail(s)
                       
Zitieren
#8
Ich habe mal etwas näher im Code geguckt.

Die 2 Bilder sind div Elemente mit id Tag sowie, noch wichtiger, einem onclick Tag, das wiederum eine ca(blabla) Funktion aufruft.
halt mit bestimmter Zahls tatt blabla.

Hier der Code des ersten Bildes:
Code:
<div id="ca-45242" class="card cursor mt-3" onclick="ca(45242);">
            <div class="card-header">
               <div class="viewed d-none "><i class="fas fa-check-circle"></i></div>
               GOODBYE CELLULITE !
            </div>
            <div class="card-body">For a more contoured, smoother and firmer looking body.</div>
         </div>




Praktischerweise steht diese ca(...) Function direkt im Code innerhalb eines "script" Tags:

Code:
<script>
function ca(id) {
   if (working) {
      return;
   }
   working = true;
   $('#ca-'+id+' .viewed').removeClass('d-none');
   var md = new MobileDetect(window.navigator.userAgent);
   if (md.is('iPhone')==false) {
      var pop = window.open();
   }
   $.post('/ajax/ca', {id:id}, function(resp) {
      working = false;
      let d = JSON.parse(resp);
      if (d.status==1) {
         if (md.is('iPhone')==false) {
            pop.location.href=d.url;
         } else {
            location.href=d.url;
         }
         if (d.validated==1) {
            popAlert(1, 'Success', 'You have validated your data and your income has been updated!', 'OK', 'VIEW', 'location.href="'+d.earn_url+'"');
         }
         return;
      }
      popAlert(d.status, d.title, d.text);
   });
}
$(function() {
   });
</script>

Nur so 100 prozentig kapiere ich noch nicht was da passiert.

Mein Gedanke wäre gewesen:
Vielleicht kann man , bevor ich da klicke, hingehen und die Funktionalität dieser ca funktion so umbauen, dass zwar weiterhin der Klick an sich erkannt wird, aber eben kein neuer tab oder fenster geöffnet wird.
Eben der part wo der hinter dem link befindliche inhalt geladen werden würde, irgendwie unterbunden wird.

Natürlich ohne dass die Seite das merkt, dass ich das gemacht habe, bevorzugt :-)
Zitieren
#9
Ein Weg, der vielleicht klappen könnte, wäre das überschreiben der window.open() Funktion an sich.
Denn die ist ja an sich für das Aufrufen der neuen Seite verantwortlich.

Habe mal eine Variante getestet, bei der der "global namespace polluted" wurde, also die window.open() Funktion direkt überschrieben wurde.


habe auf die buttons geklickt, hat auch, wie in der neudefinition vorgegeben, nur eine popup message statt bisher dem seitenladen bewirkt.

Die bilder wurden auch mit grünem häkchen abgehakt.

Nur leider hatte ich zuvor shcon meine 2 "pflichtklicks" gemacht gehabt, insofern kann ich noch nicht sicher sagen ob nun die Seite die Klicks auch zählt obwohl die .open() Funktion nichts mehr tut. oder nicht.

Muss ich morgen mal testen.

Hatte da nicht groß überlegt beim überschreiben, alles Andere mit extra iframes und sosntwas klang extrem umständlich.

Aber kann man eigentlich die window.open() funktion wieder auf seine standard funktionalität "resetten"?
Oder müsste ich dazu womöglich den Browser neu installieren? Undecided
Zitieren
#10
Beitragslänge war hier auf 65.000 Zeichen eingestellt .
Attachments war auf 5 eingestellt.
Das ist eine Standardeinstellung vom der Forensoftware.-

Habe das jetzt auf 200.000 Zeichen erhöht und auf 10 Attachments.
Das sollte in Normalfall reichen.
Ob die Größe de Dateien noch irgendwo einstellbar sind, suche ich noch, ansonsten muss ich in den Foren Code suchen, wo man das umbauen kann.

EDIT:
Ein Attachment darf jetzt 2.4 Mb groß sein.
Mal 10 = 24 MB jetzt pro Beitrag

Das Problem mit dem Script schaue ich mir nachher genauer an
Hier sind alle meine Lösungen aus allen Foren. Ich helfe auch in Facebook-chat
Zitieren


Gehe zu:


Benutzer, die gerade dieses Thema anschauen:
1 Gast/Gäste