JavaScript Applet Größe mit Greasmonkey Script ändern

jayp57

Cadet 4th Year
Registriert
Sep. 2005
Beiträge
71
Hat jemand Erfahrung mit Greasemonkey?

Ich möchte die Applet Größe eines Java Applet per Greasemonkey Script ändern.
In diverse Foren geschaut, aber nichts was ähnlich wäre gefunden.

Kann ich das per Funktion document.getElementsByTagName oder document.getElementsByClassName machen?

HTML Original Code sieht so aus:

<applet codebase="test_classes" code="test.class"
archive="test.jar" width="800" height="632">

<param name="test value="1234">
</applet>

Ich möchte nur width und height ändern.
 
Ich weiss zwar was Greasemonkey ist aber wie man es benutzt k.a., aber die Änderung der größe des Applets muss vom Applet selbst auch unterstützt werden, wenn Du damit störende Applets einfach nur auf 1x1 Pixel setzen willst ist das natürlich egal. :evillol:
 
im java applet selbst geht es nicht, da ist so eine funktion nicht eingebaut.
im html code kann ich auch nichts ändern, da serverseitig.
 
Code:
// ==UserScript==
// @name           Name des Scripts
// @namespace      Host
// @include        URL wann das Script greifen soll (Wildcards wie * sind erlaubt)
// ==/UserScript==

function Do()
{
  var e = document.getElementsByTagName( 'applet' );
  for( var i = 0; i < e.length; i++ )
  {
    var o = e[i];
    if( o.getAttribute( 'width' ) == '800' && o.getAttribute( 'height' ) == 632 )
    {
      // weiß nicht ob die höhe und breite sich so einfach setzen lassen
      o.width = x;
      o.height = y;
    }
  }
}();
Einfach als *.user.js abspeichern, diese via Browser öffnen und der Dialog zum Installieren erscheint automatisch.
 
Fast korrekt, nur was soll das function Do() { .. } .. und abschliessende (); ??

So funktionierts:
Code:
// ==UserScript==
// @name           Appletresize
// @namespace      Host
// @include        http://www.myhost.de/*
// ==/UserScript==

var e = document.getElementsByTagName('applet');
for (var i = 0; i < e.length; i++) {
  var o = e[i];
  if (o.getAttribute('width') == 800 && o.getAttribute('height') == 632) {
    o.width = 400;
    o.height = 316;
  }
}

Es funktioniert auch z.B:
o.width = '50%';

für lokales testen (file://) muss man noch in about:config
greasemonkey.fileIsGreaseable = true setzen.
und am besten greasemonkey.logChrome = true, dann erfolgen Ausgaben in die Java-Console.
Direkte Ausgaben kann man dann mit z.B: GM_log('Hello World'); machen.
 
lynxx schrieb:
Fast korrekt, nur was soll das function Do() { .. } .. und abschliessende (); ??
Ich definier eine Funktion und ruf sie anschließend auf. So erspar ich mir ein
Code:
function Do() { ... }
Do();
Hab halt nur ein Beispielscript von mir genommen und das ein wenig angepasst. Zumal ich lieber alles in Funktionen habe, aber das mag ja jeder anders.
 
Yuuri schrieb:
Ich definier eine Funktion und ruf sie anschließend auf. So erspar ich mir ein
Code:
function Do() { ... }
Do();
Hab halt nur ein Beispielscript von mir genommen und das ein wenig angepasst. Zumal ich lieber alles in Funktionen habe, aber das mag ja jeder anders.

Macht Sinn, aber Greasemonkey (aktuelles V0.9.12) erzeugt bei mir nen Syntax Error bei der "}();" Zeile ..
 
Stimmt, hab die Klammern vergessen... So ist es richtig:
Code:
(function Do() { ... })();
 
thx, porbiere es heut abend aus. sieht vielversprechend aus.
Ergänzung ()

Bin doch dazu gekommen es auszubrobieren. Version von lynxx funktioniert.
Wobei die Appletfläche wird Grösser aber der Inhalt wird nicht gestreckt.
Da ich nicht an den java source kommt ran komme, muß ich es so sein lassen.
Schade.
Mich wundert das wenn ich den HTML Source mir anzeigen lasse, trotzdem die standartwerte drinstehen. Ich ging davon aus das die geänderte Werte drinstehen wenn es von Greasemonkey verarbeitet wird.

Auf jeden fall vielen dank, mir ist durch eure code beispiele die programmstruktur klar geworden.
 
jayp57 schrieb:
Wobei die Appletfläche wird Grösser aber der Inhalt wird nicht gestreckt.
Genau das meinte ich mit meinem ersten Post.

jayp57 schrieb:
Mich wundert das wenn ich den HTML Source mir anzeigen lasse, trotzdem die standartwerte drinstehen. Ich ging davon aus das die geänderte Werte drinstehen wenn es von Greasemonkey verarbeitet wird.
Dachte ich eigentlich auch, aber ist hier genauso, Seite wird definitiv geändert, Quelltext aber nicht.

Auch hinzufügen von Filter: view-source:* hilft nicht, das verwendet Firefox zum Anzeigen des Quell-Textes, z.B:
Dieser Threat als Quelltext -> view-source:https://www.computerbase.de/forum/threads/applet-groesse-mit-greasmonkey-script-aendern.971435/, mhhh geht wohl nicht als Link.
 
jayp57 schrieb:
Mich wundert das wenn ich den HTML Source mir anzeigen lasse, trotzdem die standartwerte drinstehen.
Das machst du wie? Über Quelltext anzeigen, wird dir der ausgelieferte Code angezeigt. Den Aktuellen bekommst du nur mittels DOM Inspector oder Firebug.
 
Zurück
Oben