• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

[ERLEDIGT] kein window.open wenn Seite nicht erreichbar

wurzeltraktor

Neues Mitglied
Moin allerseits,
auch wenn ich sicher immer noch blutiger JS-Anfänger bin, habe ich inzwischen durchasu die ein oder andere if-Verzweigung zusammengestrickt. Aber an folgendem (vermutlich banalen) Problem verzweifle ich. Wie bekomme ich meinen Code unten so hin, dass der window.open-Befehl übergangen wird, wenn CheckLink NICHT erreichbar meldet?

Javascript:
<!doctype html>
<head>
    <meta charset="UTF-8"/>
    <title>LinkCheck</title>
</head>

<body>
<p align="left">Link-Test   <input type="text" id="Test" style="width: 75px;">
<input type="button" value="http://" onclick="Test_http()">
<input type="button" value="https://" onclick="Test_https()">
</p>

<script>
function CheckLink(LinktoCheck){
    var tmp=new Image;
    tmp.src=LinktoCheck;

    if(tmp.complete)
        alert(LinktoCheck + " ist ERREICHBAR " + tmp.complete);
    else
        alert(LinktoCheck + " ist NICHT erreichbar " + tmp.complete);
}

function Test_http(){
var test = document.getElementById("Test");
CheckLink("http://" + test.value);
window.open("http://" + test.value);
    var InputText = document.getElementById("Test");
    InputText.value=""
}
function Test_https(){
var test = document.getElementById("Test");
CheckLink("https://" + test.value);
window.open("https://" + test.value);
    var InputText = document.getElementById("Test");
    InputText.value=""
}
</script
</body>
</html>

Vermutlich ist es ganz einfach, aber ich bin heute morgen einfach zu do.. dazu.

Herzlichen Dank!

wurzeltraktor
 
Moin Sempervivum! Herzlichen Dank!!

Du hast, was das dahinterliegende Problem tolle Vorschläge gemacht, von denen ich die fetch-API ausprobieren werde. Es geht schließlich tatsächlich um ganze Webseiten und dort selbstgstrickte Fehlerseiten sollen auch erkannt werden. Aber das später.

Mein banales Prolem ist immer noch, dass ich das Ergebnis von CheckLink als Steuerung für die Tests verwenden will. Ich habe versucht tmp.complete dafür zu nutzen, habe eine zusätzliche Variable var status = new boolean ausprobiert. Aber nix klappt.

Gruß

Nachtrag: Ein Beispiel wie nicht klappt:

Javascript:
        function Test_https() {
            var test = document.getElementById("Test");
            CheckLink("https://" + test.value);
            if tmp.complete == false {
            return;
            }
            var InputText = document.getElementById("Test");
            InputText.value = ""
        }
 
Zurück
Oben