Flashfile

  • VB.NET

Es gibt 14 Antworten in diesem Thema. Der letzte Beitrag () ist von Charuso.

    Guten Abend allerseits!

    Erstmal zur Vorgeschichte:
    Auf einem externen Server liegt eine Flashanimation von mir welche auch im Browser
    tadelos funktioniert. Die .xml files werden alle aktualisiert und auch ausgegeben wenn
    man sie ändert.

    Nun habe ich mit VB10 eine .exe erstellt die einen Webbrowser darstellt und genau
    diese Flashanimation anzeigt (anzeigen soll).

    Nun zu meinem Problem:
    Wenn ich die .exe ausführe zeigt mir der Webbrowser zwar die Flashversion an, aber mit
    den alten .xml Textfiles wohingegen mein Firefox Browser das schön aktualisierte
    anzeigt. Der Link ist sowohl in Firefox als auch in der .exe der selbe. Aber in der .exe
    aktualisiert es sich einfach nicht. Besitzt der Webbrowser evtl einen cache? Gibt es eine
    möglichkeit diesen Webbrowser/Flash erneut zu laden oder den cache zu sperren/ständig
    zu leeren? So langsam weiß ich nicht weiter.

    Ich hoffe mir kann geholfen werden, schonmal danke im vorraus.

    Gruß
    Charuso
    Erstmal danke, leider bin ich aber noch nicht ganz geübt darin mir gleich im klaren zu werden was gemeint ist ^^

    Wie muss ich das jetzt hier reinsetzen? Bei mir kommen nur fehler raus ;)

    HTML-Quellcode

    1. Private Enum BrowserNavigationFlags
    2. navOpenInNewWindow = 1 ' Open the resource or file in a new window.
    3. navNoHistory = 2 ' Do not add the resource or file to the history list. The new page replaces the current page in the list.
    4. navNoReadFromCache = 4 ' Do not read from the disk cache for this navigation.
    5. navNoWriteToCache = 8 ' Do not write the results of this navigation to the disk cache.
    6. End Enum
    7. Private Sub WebBrowser1_DocumentCompleted(ByVal sender As System.Object, ByVal e As System.Windows.Forms.WebBrowserDocumentCompletedEventArgs) Handles WebBrowser1.DocumentCompleted
    8. WebBrowser1.Navigate("http://url", navNoReadFromCache)
    9. End Sub


    Und wie ist das mit der Zeit und Datum im unteren teil gemeint?

    Gruß
    Charuso

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Charuso“ ()

    ja manuell hab ich selbst nichts aktualisiert, das soll das ja beim start von alleine machen.
    Der Webbrowser besteht nur aus einem anzeigefenster, minimiren und schließen. darin läuft
    im webbrowserfenster läuft die Flashanimation welche von einem externen server geladen wird.
    wenn ich dort eine datei änder sollte es in der exe auch geändert erscheinen, was sie
    ja aber in dem fall nicht tut (darum gehts).
    Ok wie erklär ich das :D

    Im Prinzip ist das eine Homepage, dort gibt es texte, bilder usw.
    Diese Homepage wird standartmäßig in diesen Webbrowser der erstellten exe ausgeführt.
    Sollte ich jetzt einen Text auf dieser Homepage geändert haben, müsste logischerweise
    der webbrowser in der exe das ja auch ändern/anzeigen, aber er ruft ja die seite nicht neu auf
    sondern ließt sie (nehme ich an) aus einem cache oder speichert das irgendwie und zeigt
    somit einen alten und falschen inhalt der homepage an. Aber er soll den webinhalt dieser
    Homepage neu laden damit die übereinstimmen. Oder mach ich irgendwo einen denkfehler?
    Dein Programm (exe) wird nichts machen, wenn Du es nicht aufforderst, irgend etwas zu tun.
    Wann es die Seite neuladen / aktualisieren soll, muss Du es schon beibringen.
    Möglichkeiten wäre ein Timer, wenn die Seite im regelmäßigen aktualisiert werden soll, oder (sofernt die Seite lokal erreichbar ist) mit einem FileSystemWatcher (aus Namespace IO), der auf Änderungen der Datei (Event Changed) reagiert.
    Ein kleines Beispiel mit Timer:
    In welchem Abstand die Seite aktualisiert werden soll, kannst Du im <TimerName>.Interval definieren

    VB.NET-Quellcode

    1. Private WithEvents _RefreshTimer As New Timer
    2. Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
    3. WebBrowser1.Navigate("www.meinewebsite.net/seite.html")
    4. _RefreshTimer.Interval = 60000 ' Angabe in Milisekunde, also 1 Minute
    5. _RefreshTimer.Enabled = True
    6. End Sub
    7. Private Sub _RefreshTimer_Tick(ByVal sender As Object, ByVal e As System.EventArgs) Handles _RefreshTimer.Tick
    8. If WebBrowser1.ReadyState = WebBrowserReadyState.Complete Then
    9. WebBrowser1.Refresh()
    10. End If
    11. End Sub
    schonmal danke an dich aber, wie ich jetzt herausgefunden habe
    ist der cache das problem. leere ich den cache meines IE
    erscheint die seite so wie sie soll, anchließend aber nichtmehr.
    Gibts da jetzt eine möglichkeit das cachen zu unterbinden?
    Im Forum und im sonstigen WWW konnte ich nichts genaues
    dazu finden, eher nur nicht funktionierendes.

    Gruß
  • 2 Benutzer haben hier geschrieben