Ist der Austausch von Schnüren mit GreaseMonkey und Firefox möglich?

1006
Gary M. Mugford

Ich habe nach Mitteln gesucht, um Brightcove-Videos vom automatischen Start in Firefox abzuhalten, und bin zu dem Schluss gekommen, dass dies ohne externe Programmierung über etwas wie Grease Monkey nicht möglich ist. Ich beherrsche kein Javascript, geschweige denn GM. Also dachte ich, ich würde hier zuerst fragen, ob ich machbar sein will oder ob es eine Narrensache ist.

Was ich erreichen möchte ist, dass ein standortspezifisches Skript ausgeführt wird, um einen Zeichenfolgenwert im Code der Website zu ersetzen. Was ich suche, ist etwas GM-Stil, das dies tun würde:

if site_domain = 'www.SiteWithAutoPlayVideos.com' then replace_all('<param name="autoStart" value="true" />', '<param name="autoStart" value="false" />'); 

Nachdem ich Super User nach allem, was GreaseMonkey betrifft, durchgesehen hat, sehe ich, dass der Sandbox-GM Skripts ausführt, und muss aus Sicherheitsgründen getrennt bleiben. Ich vermute, ich könnte enttäuscht sein. ABER wenn es erreichbar ist und jemand hier das bestätigen kann, dann werde ich mein Bestes tun, um die Lernkurve durchzustehen und dieses lärmende kleine Problem zur Ruhe zu bringen.

Ja, ich habe Flash Block und FlashDisable ausprobiert, um dieses Problem ohne Erfolg anzugehen.

0
Sie können das DOM von einem GM-Skript aus ändern. Es ist sicherlich möglich, wenn auch ein wenig ungewollt. Wenn Sie Hilfe beim Schreiben des Skripts benötigen, können Sie den Root Access-Chatroom (oder den JavaScript-Chat bei SO's Chat) besuchen. Andernfalls würde ich vorschlagen, dass Sie zunächst die integrierte Click-to-Play-Funktion von Firefox aktivieren, sofern es sich um ein Flash-Video handelt. Bob vor 9 Jahren 0
Ja. Greasemonkey kann das, aber es kann schwierig werden. Sie sollten MutationObserver verwenden, um sowohl den als auch möglicherweise seinen übergeordneten Knoten abzufangen. Brock Adams vor 9 Jahren 0
@BrockAdams Wenn der fehlerhafte Knoten nach dem ersten Laden nicht hinzugefügt wird, sollte es ausreichend sein, ihn beim Laden der Seite zu entfernen. Ob dies jedoch schnell genug ist, bevor es wirksam wird, ist fraglich. Bob vor 9 Jahren 0
@Bob, mit `MutationObserver` wird der modifiziert, bevor das Video geladen wird. Wenn das gut genug ist, dann: (1) auch das übergeordnete Element abfangen, (2) die übergeordnete Last überflüssig machen (Dummy-URL sollte es tun), (3) korrigieren , (4) den übergeordneten Knoten wiederherstellen Brock Adams vor 9 Jahren 0
@Bob - Das Problem beim Klicken des Plugins zum Abspielen ist, dass Sie nach der Site gefragt werden und nach der Bestätigung nie wieder gefragt werden. Wenn es jedes Mal DID fragt, könnte ich mit dem Doppelklickprozess leben. Außerdem enthält die Site mehrere Links zu Seiten mit den verdammt guten Autoplay-Videos. Wie bereits gesagt, habe ich die offensichtlichen Flash-Blocker-Add-Ins ausprobiert, einschließlich des Click-to-Play-Elements pro Element. Der Player (Brightcove-Player) ist für alle unempfindlich. Gary M. Mugford vor 9 Jahren 0
@BrockAdams (und auch Bob), ich glaube, Sie haben mich in Richtung Bibliothek gezeigt. Nun ist es an der Zeit, sich in das Handbuch einzuarbeiten und ein Arbeitsbeispiel zu finden und es zu ändern. Zu wissen, dass der MutationObserver involviert ist, wird wahrscheinlich ein enormer Schritt nach oben sein. Danke euch beiden, dass ihr euch die Zeit genommen habt, um mir etwas Hoffnung zu geben ... und etwas Arbeit zu erledigen, [G]. Gary M. Mugford vor 9 Jahren 0
@ GaryM.Mugford Wenn Sie interessiert sind, können Sie [mein Skript] (https://gist.github.com/Elusive138/3797c97b074be7518629) als Beispiel verwenden. Es verwendet die alten (jetzt veralteten) Mutationsereignisse (im Gegensatz zum neuen MutationObserver), funktioniert jedoch für seinen Zweck. Wenn die Flash-Blocker nicht funktionieren, ist es wahrscheinlich auch kein Flash. Könnte ein anderes Plugin (Silverlight? VLC?) Oder ein HTML5-Video sein (unwahrscheinlich, wenn `param`-Tags verwendet werden). Click-to-Play * fragt * noch einmal nach mir - vielleicht haben Sie andere Einstellungen. Das wird für Kommentare etwas langatmig, also zögern Sie nicht, [chat] zu besuchen. Bob vor 9 Jahren 0
@ Bob, danke für dein Angebot. Ich habe einen kurzen Blick auf Ihr Skript geworfen, und es scheint für meine Bedürfnisse etwas außerhalb der Mitte zu liegen. Das liegt zweifellos daran, dass ich bei null beginne und nicht die Verbindung sehe, die Text ersetzt, und nicht die Bildobjekte, die Sie präsentieren. Aber wie ich schon sagte, ich kann den Baum im Wald noch nicht sehen. Danke für die Mühe. Was den Super User Chat angeht, bin ich dort noch mehr verloren [G]. Letztendlich wäre es gut, GreaseMonkey zu erobern. Ich denke, ich werde einen Javascript-Programmierer bei Fiverr.com bezahlen, um diesen für mich zu schreiben. Gary M. Mugford vor 9 Jahren 0
@Bob, die betreffende Site ist www.sportsnet.ca. Klicken Sie auf einen Link, der Sie zu einer neuen Seite mit einem Brightcove-Player führt, und sehen Sie sich die Seitenquelle an. Klicken Sie mit der rechten Maustaste auf das abgespielte Video, wenn es automatisch startet, und Sie sehen das Flash Player-Menü. Zumindest war dies bei Pale Moon, Google Chrome und IE der Fall. Es ist offensichtlich ein gewisser Propietärspieler. Alles was ich tun möchte ist AutoStart auszuschalten. Seufzer. Aber danke für die Ermutigung und (mehrere) Angebote, um zu helfen. Gary M. Mugford vor 9 Jahren 0
@Bob, DID versuchen, das Skript zu ändern und zu verwenden, den Namespace zu ersetzen und mit www.sportsnet.ca/* aufzunehmen und den Text find und mit den beiden Zeichenfolgen aus meinem Code zu ersetzen. Das Skript und GreaseMonkey aktiviert und dann auf die Website gegangen und auf einen Link geklickt, kam der Autostart-Player ... und es wurde automatisch abgespielt. Ich denke, ich habe zu viel Zeit damit verbracht. Danke, Bob und Brock, und entschuldigen Sie, dass Sie Ihre Zeit verschwendet haben. Gary M. Mugford vor 9 Jahren 0

0 Antworten auf die Frage