Benutzerdefinierte Suche

[JS] Wie Browser im Browser simulieren? (mit Textbox für URL-Eingabe)

  1. annie548

    annie548 Thread StarterMacUser Mitglied

    Mitglied seit:
    21.08.2006
    Beiträge:
    138
    Zustimmungen:
    1
    Hallo,
    eigentlich dachte ich, dass man ein Script wie das, welches ich suche, ziemlich leicht bekommt - da habe ich mich wohl getäuscht. Oder es ist soooo simpel, dass jeder davon ausgeht, man wüsste, wie man es macht.
    Hmmm...
    Hier meine Frage:

    Ich habe eine Textbox und einen "enter"-Button. Wenn man nun eine URL in die Textbox eingibt und "enter" klickt, soll in einem anderen Frame eben diese URL aufgehen.
    Quasi ein "Browser im Browser" - genau das soll es werden.

    Habe auch ein Script gefunden, welches allerdings nur im IE funktioniert:
    (mit Textfeld "location") und Button "Go")
    Code:
    [COLOR="DarkGreen"]<form name=addrForm>
    <input type=text name=location value="Type any URL here then press Go" onFocus="this.value=''" size=35> 
    <input type=button value="Go" 
    onClick="setLayer(document.addrForm.location.value)">
    </form>[/COLOR]
    
    Wie kann ich es modifizieren, damit es auch in Safari funktioniert? Oder geht das gar nicht? Oder hat jemand eine andere Idee?

    :o
     
    annie548, 03.10.2006
  2. Manjo

    ManjoMacUser Mitglied

    Mitglied seit:
    25.07.2005
    Beiträge:
    903
    Zustimmungen:
    22
    Wie schaut denn die Funktion "setLayer" aus?
     
    Manjo, 03.10.2006
  3. cordney*

    cordney*MacUser Mitglied

    Mitglied seit:
    22.04.2003
    Beiträge:
    756
    Zustimmungen:
    24
    Kann man direkt im onClick-Handler machen:

    Code:
    onClick="javascript:parent.framename.location.href = document.addrForm.location.value"
    Wenn ich mich recht erinnere..
     
    cordney*, 03.10.2006
  4. annie548

    annie548 Thread StarterMacUser Mitglied

    Mitglied seit:
    21.08.2006
    Beiträge:
    138
    Zustimmungen:
    1
    Hallo, das eigentliche Script hatte ich wohl vergessen... :o

    Also, komplett steht da folgendes...
    Code:
    [COLOR="Indigo"]<HTML>
    <HEAD>
    <SCRIPT LANGUAGE="JavaScript">
    <!-- Begin
    function writeLayer(text) {
    document.frames['myFrame'].location.href = text;
    document.addrForm.location.value = text;
    }
    function setLayer(text) {
    if (text.indexOf("http://",0) <= 0)
    text = "http://" +text;
    document.frames['myFrame'].location.href = text;
    document.addrForm.location.value = text;
    }
    return true;
    }
    //  End -->
    </script>
    </HEAD>
    
    <BODY>
    <iframe src="about:blank" width=100% height=90% id=myFrame></iframe>
    <center>
    <form name=addrForm>
    Location:
    <input type=text name=location value="Type any URL here then press Go" onFocus="this.value=''" size=35> 
    <input type=button value="Go" onClick="setLayer(document.addrForm.location.value)">
    </form>
    </center>
    </BODY>
    </HTML>[/COLOR]
    
    @cordney: Das ging irgendwie nicht... hmmm... schade, trotzdem danke!
     
    annie548, 03.10.2006
  5. ThaHammer

    ThaHammerMacUser Mitglied

    Mitglied seit:
    01.06.2004
    Beiträge:
    3.277
    Zustimmungen:
    13
    document.frames['myFrame'].location.href = text;

    Sollte das nicht

    document.frames.myFrame.location.href = text;

    so heissen? Aber ganz sicher bin ich mir jetzt nicht, habe auch nicht nachgeschaut.
     
    ThaHammer, 04.10.2006
  6. annie548

    annie548 Thread StarterMacUser Mitglied

    Mitglied seit:
    21.08.2006
    Beiträge:
    138
    Zustimmungen:
    1
    Hallo :klopfer: (Sorry, das musste ich einfach tun... :D )

    Habe die Zeilen (2 Stück) nach Deiner Idee geändert, geht aber leider immer noch nicht. Komisch, ich dachte, das hätten bestimmt schon tausend Leute gemacht und so ein Script ist ein alter Hut... Ist echt schwer, im Netz was darüber zu finden (wahrscheinlich scheitert's auch an den Suchbegriffen - habe bis jetzt immer "URL in Textbox" oder "Browser simulieren", "Browser in Browser", "Simulate Browser" etc. benutzt)

    Vielleicht sollte ich es lieber im Flash machen?
     
    annie548, 04.10.2006
  7. Difool

    Difool Frontend Admin

    Mitglied seit:
    18.03.2004
    Beiträge:
    8.297
    Medien:
    31
    Zustimmungen:
    1.228
    Hi annie,
    setzt du bitte html & co in die Forumseigenen
    Code:
    -tags. :)
     
    Difool, 04.10.2006
  8. annie548

    annie548 Thread StarterMacUser Mitglied

    Mitglied seit:
    21.08.2006
    Beiträge:
    138
    Zustimmungen:
    1
    Upps, sorry - klar, mach' ich.
    :o
     
    annie548, 04.10.2006
  9. Manjo

    ManjoMacUser Mitglied

    Mitglied seit:
    25.07.2005
    Beiträge:
    903
    Zustimmungen:
    22
    Mach mal so:
    (ungetestet)
    HTML:
    <HTML>
    <HEAD>
    <SCRIPT LANGUAGE="JavaScript">
    <!-- Begin
    function setLayer() {
    var loc_id = document.getElementById('location');
    if (loc_id.value.indexOf("http://",0) <= 0)
    loc_id.value = "http://" +loc_id.value;
    document.getElementById('myFrame').location.href = loc_id.value;
    }
    //  End -->
    </script>
    </HEAD>
    
    <BODY>
    <iframe src="about:blank" width=100% height=90% id="myFrame"></iframe>
    <center>
    <form>
    Location:
    <input type=text id="location" value="Type any URL here then press Go" onFocus="this.value=''" size=35> 
    <input type=button value="Go" onClick="setLayer()">
    </form>
    </center>
    </BODY>
    </HTML>
     
    Manjo, 04.10.2006
  10. b.legt210

    b.legt210MacUser Mitglied

    Mitglied seit:
    01.03.2006
    Beiträge:
    81
    Zustimmungen:
    4
    oder so (getestet und etwas geändert):
    Code:
    <html>
    <head>
    <script language="JavaScript">
    //<!-- Begin
    	function setLayer(text)
    	{
    		//alert("Text: " + text);
    		//alert("Frame-SRC:\n" + parent.myFrame.location.href);
    		parent.myFrame.location.href = text;
    	}
    //  End -->
    </script>
    </head>
    
    <body>
    <iframe src="about:blank" width="100%" height="90%" id="myFrame" name="myFrame"></iframe>
    <center>
    <form name="Testform" action="">
    	<input type="text" name="my_location" id="my_location" value="http://www.apple.de">
    	<input type="button" value="GO !!!" onclick="setLayer(document.Testform.my_location.value)">
    </form>
    </center>
    </body>
    </html>
     
    b.legt210, 04.10.2006
Die Seite wird geladen...