HTA - Input Value an URL anhängen, how?

Reepo

Commander
Registriert
Nov. 2010
Beiträge
2.527
Nabend in die Runde!

Ja, HTA - ich weiss, propiertärer Mist. Aber aktuell das schnellste, was ich für meine Belange gefunden habe.
Es sollen statische Seiten getestet werden, in verschiedenen Browsern. Das hab ich soweit hingebastelt bekommen.
Mit Google und viel probieren.


Code:
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html lang="en">
<head>
  <title>HTA Test</title>
  <hta:application applicationname="HTA Test" scroll="yes" singleinstance="yes">
  <script type="text/javascript">
  function openURL()
  {
      var shell = new ActiveXObject("WScript.Shell");
          shell.run("Firefox https://www.webseite.de");
          shell.run("Chrome https://www.webseite.de");
          shell.run("file:///C:\Users\*\AppData\Local\Vivaldi\Application\vivaldi.exe https://www.google.de");
  }
  </script>
</head>
<body>

<input type="button" onclick="openURL()" value="Open Google in Firefox">

</body>
</html>

Jetzt sollen aber nur noch die Subseiten aufgerufen werden und dazu ein in ein Textfeld nur noch ein Wert eingetragen werden, der sich an die URL hängt - quasi: www.webseite.de/XYZABC

In ein Textfeld soll dann /XYZABC eingetragen werden und die verschiedenen Browser sollen die URL aufrufen.

Code:
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html lang="en">
<head>
  <title>HTA Test</title>
  <hta:application applicationname="Werbung Test1" scroll="yes" singleinstance="yes">
  <script type="text/javascript">
  function openURL()
  {
      var shell = new ActiveXObject("WScript.Shell");
          shell.run("Firefox https://www.webseite.de/(text1.value)");
          shell.run("Chrome https://www.webseite.de/(text1.value)");
          shell.run("file:///C:\Users\*\AppData\Local\Vivaldi\Application\vivaldi.exe https://www.google.de/(text1.value)");
  }
  </script>
</head>
<body>

<input type="text" id="text1" Name="text1" value="Subseite"><br>
<input type="submit" Value="Subseite" onclick="openURL()">

</body>
</html>


Funzt aber nicht. Wie krieg ich das zusammen? Hoffe ihr könnt mir helfen.
Falls es eine Alternative zu HTA gibt, die das machen kann, lasst es mich wissen.
Ich bin kein Programmierer, probier aber gerne neues aus um meinen Leuten die Arbeit zu erleichtern.
Aktuell rufen die noch die Urls manuell auf. Das muss doch Batch-mäßig gehen. Irgendwie.


VG
 
Du kannst das schon so machen, du musst nur den Wert von deinem Input richtig auslesen:

https://www.w3schools.com/jsref/met_document_getelementbyid.asp


Javascript:
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html lang="en">
<head>
  <title>HTA Test</title>
  <hta:application applicationname="Werbung Test1" scroll="yes" singleinstance="yes">
  <script type="text/javascript">
  function openURL()
  {
      var input = document.getElementById("text1");
      console.log(input); // hier bekommst du ein Objekt mit allen Attributen der text1 ID zurück.

      var inputValue = input.value;
      console.log(inputValue); // hier bekommst du den eigentlichen Wert zurück

      /*
      var shell = new ActiveXObject("WScript.Shell");
          shell.run("Firefox https://www.webseite.de/(text1.value)");
          shell.run("Chrome https://www.webseite.de/(text1.value)");
          shell.run("file:///C:\Users\*\AppData\Local\Vivaldi\Application\vivaldi.exe https://www.google.de/(text1.value)");
      */
  }
  </script>
</head>
<body>

<input type="text" id="text1" Name="text1" value="Subseite"><br>
<input type="submit" Value="Subseite" onclick="openURL()">

</body>
</html>

811615
 
Zuletzt bearbeitet:
  • Gefällt mir
Reaktionen: Reepo
Vielen Dank, dass Du das gefixxt hast. Ich schau mir das mal genau an.
 
@ blablub1212

Vielen Danke für die Hilfe
Das sieht schon besser aus als mein Flickwerk.

Ich bekomme aber einen Fehler ausgeworfen.


Zeile 10
Zeichen 6
Fehler "console" ist undefiniert

Dran rumprobiert, komm aber zu keiner Lösung, das übersteigt meine Fähigkeiten.
 
Ich hab deinen Code nicht gefixt, ich hab lediglich ein Beispiel angehangen mit dem du das Input-Element auslesen kannst und den Inhalt in der JavaScript-Konsole im Browser angezeigt bekommst.

Der Aufruf deiner Browser is jedoch auskommentiert /* .... */.

Der Ausdruck console ist wohl undefiniert, da HTA nicht im Browser sondern wohl irgendwie anders ausgeführt wird (kenne ich nicht und scheint nach kurzer Google-Recherche wohl irgendein Windows gedöns zu sein).

Ich denke für dich wäre ein kleines Shell-/Powershell-Skript wohl die bessere Wahl, oder noch besser ein richtiges Tool zum Testen, wie bspw. Selenium (https://www.seleniumhq.org/).
 
  • Gefällt mir
Reaktionen: Reepo
Zurück
Oben