_IENavigate Error bei Lokaler Html

  • Hi

    Ich bin gerade dabei ein kleines Programm zu schreiben, für die Flatcast-Community. Nur leider komme ich im Moment nicht weiter.
    Wenn ich das Programm Testweise ausführe, bekomme ich immer diesen Fehler:

    Code
    C:\PROGRA~2\AutoIt3\Include\IE.au3 (314) : ==> The requested action with this object has failed.:
    $o_object.navigate($s_Url)
    $o_object.navigate($s_Url)^ ERROR

    Desweiteren, wird mir gesagt, das die Datei schreibgeschützt ist. Der Flatcaststream soll ja im Programm selber aufgerufen werden, deshalb erstelle ich eine index.html am anfang und lasse sie am ende löschen.

    hier der Code. (ist noch die Rohfassung. Verbesserungen werden natürlich noch gemacht. Also bitte nicht meckern wenn es noch nicht so ausieht wie es sollte)

    Spoiler anzeigen
    [autoit]

    ; -- Created with ISN Form Studio 2 for ISN AutoIt Studio -- ;
    #include <GUIConstantsEx.au3>
    #include <WindowsConstants.au3>
    #Include <GuiButton.au3>
    #Include <GuiMenu.au3>
    #include <IE.au3>

    [/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]

    $input = InputBox("Geben sie die Streamnummer an", "Bitte geben sie die Streamnummer an von dem Stream" , "")
    $streamnummer = $input
    $stream = '<IFRAME height="850" width="790" frameborder="0" scrolling="no" src="http://www.flatcast.net/player.aspx?sid='& $streamnummer&'"></IFRAME>'
    $text = "<html>" & @CRLF & "<head>" & @CRLF & "<title>test</title>" & @CRLF & "</head>" & @CRLF & "<body>"& @CRLF & $stream & @CRLF & "</body>" & @CRLF & "</html>"
    FileWrite("index.html", $text)

    [/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]

    $menu = GUICreate("Flatcast",896,682,-1,-1,-1,-1)
    $datei = GUICtrlCreateMenu("Datei")
    $clos = GUICtrlCreateMenuItem("Beenden",$datei,-1,0)
    $setup = GUICtrlCreateMenu("Einstellung")
    $befehl = GUICtrlCreateMenu("Chatbefehle")
    $ueber = GUICtrlCreateMenu("?")
    GUISetState(@SW_SHOW,$menu)

    [/autoit] [autoit][/autoit] [autoit]

    $IE = _IECreateEmbedded()
    _IENavigate($IE,"index.html")

    [/autoit] [autoit][/autoit] [autoit]

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    FileDelete("index.html")
    Exit
    Case $clos
    FileDelete("index.html")
    WinClose("Flatcast")
    Exit
    EndSwitch
    WEnd

    [/autoit]

    Im Ahang auch das Komplette Projekt einer Streamnummer zum testen.
    autoit.de/wcf/attachment/23670/

  • Werde ich nachher mal machen, hoffe das es dann behoben ist.

    Danke auf jedenfall schonmal für den Hinweis.

    edit: So nun haut das schonmal hin ohne Fehler, doch leider wird die Html nun nicht richtig aufgerufen. Das heist die Seite wird nun nicht geladen.

    "Navigation zur Seite wurde Abgebrochen."

    Hier nun der geänderte Code. Vielleicht sieht ja jemand von euch, wo der fehler nun liegt

    Spoiler anzeigen
    [autoit]

    ; -- Created with ISN Form Studio 2 for ISN AutoIt Studio -- ;
    #include <GUIConstantsEx.au3>
    #include <WindowsConstants.au3>
    #Include <GuiButton.au3>
    #Include <GuiMenu.au3>
    #include <IE.au3>

    [/autoit] [autoit][/autoit] [autoit]

    $IE = _IECreateEmbedded()
    $Breite = 850
    $Hoehe = 800
    $input = InputBox("Geben sie die Streamnummer an", "Bitte geben sie die Streamnummer an von dem Stream" , "")
    $streamnummer = $input
    $stream = '<IFRAME height="850" width="790" frameborder="0" scrolling="no" src="http://www.flatcast.net/player.aspx?sid='& $streamnummer&'"></IFRAME>'
    $text = "<html>" & @CRLF & "<head>" & @CRLF & "<title>test</title>" & @CRLF & "</head>" & @CRLF & "<body>"& @CRLF & $stream & @CRLF & "</body>" & @CRLF & "</html>"
    FileWrite("index.html", $text)

    [/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]

    $menu = GUICreate("Flatcast",896,850,-1,-1,-1,-1)
    $datei = GUICtrlCreateMenu("Datei")
    $clos = GUICtrlCreateMenuItem("Beenden",$datei,-1,0)
    $setup = GUICtrlCreateMenu("Einstellung")
    $befehl = GUICtrlCreateMenu("Chatbefehle")
    $ueber = GUICtrlCreateMenu("?")

    [/autoit] [autoit][/autoit] [autoit]

    GUISetState(@SW_SHOW,$menu)

    [/autoit] [autoit][/autoit] [autoit]

    GUICtrlCreateObj($IE,5, 5, $Breite -5 , $Hoehe)
    _IENavigate($IE,"index.html")

    [/autoit] [autoit][/autoit] [autoit]

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    FileDelete("index.html")
    Exit
    Case $clos
    FileDelete("index.html")
    WinClose("Flatcast")
    Exit
    EndSwitch
    WEnd

    [/autoit]

    Einmal editiert, zuletzt von darktown (3. November 2013 um 11:23)

  • Hallo darktown,

    ersetze mal dein

    [autoit]

    _IENavigate($IE,"index.html")

    [/autoit]


    durch

    [autoit]

    _IENavigate($IE,"file:///" & StringReplace(@ScriptDir, "", "/") & "/index.html")

    [/autoit]

    So sollte es auch bei lokal gespeicherten HTML-Dateien gehen.

    MfG Xenon :)

    Edit: Bitte in die leeren Anführungszeichen nach @ScriptDir noch einen Backslash einfügen, der wird beim Posten irgendwie verschluckt...

    Einmal editiert, zuletzt von Xenon (3. November 2013 um 13:00)