Ich habe ein kleines Tool, mit Delphi erstellen, die URLs aus einer Datei oder aus der Zwischenablage baut test.htm, und als eine Datei mit einem Inhalt wie folgt aufgerufen sammelt:Javascript window.open ohne http: //
<!DOCTYPE html>
<html>
<body>
<p>Click the button retrieve the links....</p>
<button onclick="myFunction()">Click me</button>
<p id="demo"></p>
<script>
function myFunction() {
window.open('http://www.speedtest.net/', '_blank');
window.open('www.speedtest.net/', '_blank');
and so on...
}
</script>
</body>
</html>
Die Idee ist, auf die Schaltfläche zu klicken, und dann wird eine neue Registerkarte (oder ein neues Fenster) für jede URL innerhalb von myFunction erstellt. Das funktioniert, aber mit einem kleinen Problem.
Im Codebeispiel gibt es 2 URLs, eine mit dem Präfix http: // und eine ohne. Die erste URL funktioniert wie erwartet und erstellt eine neue Registerkarte (oder Fenster) mit der folgenden URL:
http://www.speedtest.net
Der zweite ‚window.open‘ funktioniert nicht wie ich erwartet hatte. Diese ‚window.open‘ wird die folgende URL in dem neuen Registerkarte (oder Fenster)
file:///c:/myApplicaton/www.speedtest.net
erstellen Wie Sie bereits herausgefunden haben, die Anwendung ist eine ausführbare Datei in C: \ myApplication
Also meine Frage (s), gibt es eine Möglichkeit, 'window.open' zu verwenden, um eine neue Registerkarte (oder ein neues Fenster) zu erstellen, ohne den Pfad der Anwendung vor die URL zu setzen? Wenn dies mit 'window.open' nicht möglich ist, gibt es eine andere Möglichkeit, dies zu tun?
Oder ist der einzige Weg, dies zu tun, um die Anwendung die http: // vor jeder URL setzen, die es nicht schon hat?
^^ war mein Grund. –
Wenn du nur // anstelle von http verwendest: // Funktioniert es?Sie werden ein Problem mit den https: // Websites haben – romuleald
Was bedeutet ^^? – GuidoG