Sollte man zum Funktionieren bringen können. Poste doch noch Mal das aktuelle HTML und CSS. URL geht wohl nicht, wenn es Intranet ist.
Beiträge von Sempervivum
-
-
Ich versuche es mal anders: Bestätige oder korrigiere mal folgendes:
Du möchtest die Tabelle sortierbar machen? Das funktioniert sehr gut mit dem jQuery-Plugin Datatables. Man müsste prüfen, ob es möglich ist, jQuery und dieses Plugin in einem Userscript einzubinden.
Du möchtest zusätzliche Infos über die API lesen und in der Tabelle hinzu fügen? Dass man die User-ID aus der Tabelle lesen kann, habe ich jetzt verstanden.
Möchtest Du die vorhandene Tabelle erweitern und ändern oder eine Kopie mit den Erweiterungen anlegen?
-
Stimmt die Klasse? In deinem ersten Posting lautet sie einfach "Support". Ich hatte es getestet, indem ich eine Testseite mit deinem HTML und CSS angelegt habe und es hatte funktioniert.
-
Dieses Javascript:
Code
Alles anzeigen<form name="Autodaten" action="" method="get" enctype="text/plain"> Hersteller: <input id="autohersteller" type="text" name="autoerzeuger" value="" size="20" maxlength="50" onkeyup="" /><br> Farbe: <input id="farbevonauto" type="text" name="" value="" size="5" maxlength="10" onkeyup=""/><br> Max. Geschwindigkeit: <input id="geschw" type="text" name="" value="" size="5" maxlength="10" onkeyup=""/><br> <input type="submit" name="" value="Sichern" /> </form> <script> var autoerzeuger = document.getElementById ('autohersteller').value; document.write var autofarbe = document.getElementById ("farbevonauto").value; var maximalGeschwindig = document.getElementById ("geschw").value; document.write ( autoerzeuger + " " + autofarbe + " mit Höchstgeschwindigkeit: " + maximalGeschwindig + " sind im Formular angegeben worden.");wird sofort beim Laden der Seite aufgerufen. Zu dem Zeitpunkt sind alle Eingabefelder noch leer. Um eine Aktion auszulösen, wenn in einem Eingabefeld etwas eingegeben wird, kommst Du um Eventhandler nicht herum.
Und dieses:
kann nicht funktionieren; entweder value (bei Eingabefeldern) oder innerHTML (z. B. bei span oder div).
Ich habe mal dieses ausgearbeitet:
HTML
Alles anzeigen<!DOCTYPE html> <html> <head> <title>Javascript Beispiel mit Objektorientierter Programmierung</title> <meta charset="utf-8"> </head> <body> <form name="Autodaten" action="" method="get" enctype="text/plain"> Hersteller: <input id="autohersteller" type="text" name="autoerzeuger" value="" size="20" maxlength="50" onkeyup="" /><br> Farbe: <input id="farbevonauto" type="text" name="" value="" size="5" maxlength="10" onkeyup="" /><br> Max. Geschwindigkeit: <input id="geschw" type="text" name="" value="" size="5" maxlength="10" onkeyup="" /><br> <input type="submit" name="" value="Sichern" /> </form> <div id="anzeige"></div> <script> var dasAuto = null; function eingabenUebernehmen() { var hersteller = autohersteller.value; var farbe = farbevonauto.value; var geschwindigkeit = geschw.value; if (hersteller != "" && farbe != "" && geschwindigkeit != "") { dasAuto = new Auto(hersteller, farbe, geschwindigkeit) dasAuto.anzeigen("anzeige"); } } autohersteller.addEventListener("change", eingabenUebernehmen); farbevonauto.addEventListener("change", eingabenUebernehmen); geschw.addEventListener("change", eingabenUebernehmen); document.querySelector("form[name='Autodaten']").addEventListener("submit", function(e) { e.preventDefault(); }); // Objektbauplan über function function Auto (autoerzeuger, autofarbe, maximalGeschwindig) { // Eigenschaften this.farbe = autofarbe; this.hersteller = autoerzeuger; this.stillstand = 0; this.speedNow = 0; this.maxSpeed = maximalGeschwindig; // Methoden this.beschleunigen_um = function (kmh) { this.speedNow +=kmh; document.write('<br>Beschleunigt um: '); document.write( kmh); document.write(' km/h auf km/h: '); document.write(this.speedNow); if (this.speedNow > this.maxSpeed) { document.write('<p>' + this.speedNow); document.write (' km/h geht Nicht - daher wird gedrosselt auf ' + this.maxSpeed + ' km/h!<br>'); this.speedNow = this.maxSpeed; } } this.bremsen_um = function (kmh) { this.speedNow -= kmh; document.write('<br>Abgebremst um: '); document.write( kmh); document.write(' km/h auf km/h: '); document.write(this.speedNow); if (this.speedNow < this.stillstand) { document.write('<p> Geht nicht - Das Auto steht jetzt!<br>'); this.speedNow = this.stillstand; } } this.anzeigen = function(id) { var anzei = document.getElementById(id); anzei.innerHTML = 'Hersteller: ' + this.hersteller + " Farbe: " + this.farbe + ' Höchstgeschwindigkeit: ' + this.maxSpeed; } } </script> </body> </html>Damit kannst Du ja mal versuchen, zu beschleunigen und zu bremsen.
-
Noch ein Hinweis an dich, clkostbe: Auf diese Weise:
Code
Alles anzeigenfunction Auto (autoerzeuger, autofarbe, maximalGeschwindig) { // Eigenschaften this.farbe = autofarbe; this.hersteller = autoerzeuger; this.stillstand = 0; this.speedNow = 0; this.maxSpeed = maximalGeschwindig; // Methode die in der naechtsten Funtkion erlaeutert wird this.beschleunigen_um = beschleunigen_um; this.bremsen_um = bremsen_um } //Hier nun die Methode function beschleunigen_um (kmh) {hebelst Du eine Haupteigenschaft der OOP, nämlich die Datenkapselung aus, weil die Funktion beschleunigen_um global ist. Besser so:
Code
Alles anzeigenfunction Auto (autoerzeuger, autofarbe, maximalGeschwindig) { // Eigenschaften this.farbe = autofarbe; this.hersteller = autoerzeuger; this.stillstand = 0; this.speedNow = 0; this.maxSpeed = maximalGeschwindig; // Methode die in der naechtsten Funtkion erlaeutert wird this.beschleunigen_um = function(kmh) { }; this.bremsen_um = function(kmh) { } } -
-
Das ist das Wesen einer Sortierung von Strings: Das was links steht, hat, wie bei einem nummerischen Wert, das höchste Gewicht, daher stehen die beiden 25. am Ende und die Reihenfolge wird durch den Monat definiert. Das Jahr hat dagegen das niedrigste Gewicht, da es rechts steht.
Solle sich lösen lassen, indem Du usort mit einer geeigneten Vergleichsfunktion verwendest.
-
Jetzt verstehe ich es etwas besser, aber noch nicht vollständig:
Ist das 1, 2, 3, ... die User-ID?
Wenn die User-ID nicht einfach eine laufende Nummer ist, wo kommt sie dann her?
Ich nehme an, DU willst den GM_xmlhttpRequest in einer Schleife absetzen und entsprechend dem Ergebnis die Schleife beenden. Leider postest Du nicht, wie Du die Daten heraus holst, Wie sieht das XML aus, wenn der User nicht vorhanden ist?
-
Du hast diese Frage noch nicht beantwortet:
ZitatBesteht das Suchergebnis einfach in der Zahl der Zeilen, die erzeugt werden sollen?
oder schließt es auch die Daten ein, die in den Zellen angezeigt werden sollen?
-
Zitat
ich hoffe ihr versteht was ich meine
Was mich betrifft, nicht so richtig. Was ist denn das für eine Suche, was wird durchsucht und wo kommt das Suchergebnis her? Besteht das Suchergebnis einfach in der Zahl der Zeilen, die erzeugt werden sollen?
-
Siehe hier:
https://stackoverflow.com/questions/1156…rer-z-index-bug
Schmutziger Trick und mir erschließt sich nicht wie, aber es funktioniert:
für das Objekt, das das PDF anzeigt.
-
Leider geht aus deinem Code das HTML des Menüs nicht hervor, weil es includiert wird. Poste besser den generierten Text aus der Quellcode-Ansicht des Browsers. Außerdem das CSS aus style.css.
-
PS: Mit passenden Suchbegriffen findet man z. B. diesen, der dein Beispiel korrekt berechnet:
-
Eine Seite, die 64 Bit Genauigkeit unterstützt, kenne ich nicht, aber ich war mit diesem Problem auch vor einiger Zeit konfrontiert und habe diese Erklärung gefunden:
https://www.w3schools.com/js/js_numbers.asp
Wahrscheinlich benutzt der Online-Umrechner der Uni ebenfalls Javascript.
Ob PHP eine höhere Genauigkeit unterstützt, habe ich nicht recherchiert.
-
Zitat
css3 das gleiche wie css
CSS3 ist eine relativ neue Version von CSS und enthält einige Erweiterung, u. a. Transition und Animation, das Du gerade kennen gelernt hast.
Zitatkann man css3 auch für javascripte bzw in meinen fall userscripte benutzen
Ja, CSS3 kann man in Verbindung mit Javascript verwenden und da userscript auch Javascript ist, auch damit. Eine gängige Technik ist z. B., eine Animation oder Transition durch Setzen und Löschen einer Klasse zu starten bzw. zu stoppen.
Außerdem gibt es für Animationen eine Reihe von Events, wodurch Javascript ebenfalls damit interagieren kann.
-
Zitat
das die farben langsam zur anderen farbe wechselt ist wohl nicht möglich
Doch, auch Farben lassen sich animieren.
Zitatdazu währe es ja einfach eine schleife zu machen die immer die zahlen ein höhr macht
Wäre im Prinzip möglich. Eine wesentlich bessere Möglichkeit ist jedoch, CSS-Animationen zu verwenden. Informiere dich darüber.
-
Super, dass es funktioniert. Aber ich glaube, der Umweg über Localstorage ist überflüssig. Probiere es so:
-
Zitat
dein code wie er da steht klappt so leider nicht
Doch, der funktioniert, ich habe ihn getestet.
Zitataber das feld soll ja nicht angezeigt werden
Wird es auch nicht, es wird temporär erzeugt, in den DOM eingefügt und nach dem Copy gleich wieder gelöscht.
Zitatich glaube mitlerweile das geht nicht mit userscripte
Und ich bin hundertprozentig sicher, dass es geht. Du postest immer, dass der Text in einer Variablen steht. Wie kommt er denn dort hinein?
-
Dann führt wahrscheinlich kein Weg daran vorbei, den Text aus der Variablen in ein temporäres input-Feld einzutragen und von dort aus in die Zwischenablage zu kopieren:
Code
Alles anzeigen<button id="toclipboard">Copy</button> <script> var txt = "Hallo Welt"; toclipboard.addEventListener("click", function() { var inp = document.createElement("input"); inp.value = txt; document.body.appendChild(inp); inp.select(); document.execCommand("copy"); inp.parentNode.removeChild(inp); }); </script>Dies hat bei mir nur funktioniert, wenn ich das input mit appendChild() in das DOM eingefügt habe.
-
Zu dem copy-Problem:
Die Funktion select() lässt sich nur auf Eingabefelder anwenden, nicht jedoch auf Variablen:
https://wiki.selfhtml.org/wiki/JavaScrip…elements/select
Da Du schreibst:
Zitatdas sollte doch gehen weil inputwahr ja vorher der text aus den inputfeld,oder habe ich da irgendwie ein denkfehler drinne???
hast Du den Text ja offenbar in einem input. Wenn Du darauf die Funktion select anwendest, sollte es funktionieren.