GeckoFX Downloads?

  • VB.NET

Es gibt 8 Antworten in diesem Thema. Der letzte Beitrag () ist von Takafusa.

    GeckoFX Downloads?

    Moin,

    geplant war eigentlich den standard Webbrowser zu nehmen, da der aber die Websites kaum anzeigt bin ich davon erstmal komplett weg ^^

    Ich nutze nun GeckoFX45... dort funktioniert auch alles was die Websitedarstellung angeht. Wenn ich dort aber etwas herunterladen möchte passiert leider gar nichts :/
    Muss ich dort auf etwas spezielles achten? Habe ich etwas vergessen? Komme da aktuell leider nicht weiter und wenn ich danach Google finde ich leider recht wenig hilfreiches.

    Würde mich um Unterstützung und Hilfe freuen.

    Grüße
    HansUndFranzZimmer
    Das ist zwar nett gemeint und dafür bedanke ich mich auch, jedoch funktioniert das nicht. Ich habe alle 3 Schnipsel konvertiert und in die Form1.vb reingepackt, quasi alles war unterkringelt.

    Ich habe absolut keine Erfahrung mit GeckoFX weshalb ich da sowieso völlig auf dem Schlauch stehe.. Etwas, worum es direkt um Visual Basic geht, nicht um C# und ich alles konvertieren muss wäre hilfreicher.
    Vielleicht sogar einfach ein Tutorial welches mir das schön erklärt. Deutsch bevorzuge ich hierbei, englisch is zur Not auch okay.
    Ich hab das jetzt mal ganz einfach gemacht, hab den Link aus dem EröfnungsPost bei SO geklick, dort den kurzen Code in VB übersetzen lassen, ein paar Zeilen angepasst weil der übersetzer mist gemacht hat und es geht? Wobei ich mir sicher bin, das wenn man es richtig macht, auch der Code zu dem ich den Link postete funktioniert.

    Der weiterführende Link:
    stackoverflow.com/questions/27…downloading-in-geckofx-29

    VB.NET-Quellcode

    1. Imports System.IO
    2. Imports Gecko
    3. Public Class Form1
    4. Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
    5. GeckoWebBrowser1.Navigate("http://127.0.0.1/1.rar")
    6. AddHandler LauncherDialog.Download, AddressOf LauncherDialog_Download
    7. End Sub
    8. Private Sub LauncherDialog_Download(ByVal sender As Object, ByVal e As Gecko.LauncherDialogEvent)
    9. Dim objTarget As nsILocalFile = Xpcom.CreateInstance(Of nsILocalFile)("@mozilla.org/file/local;1")
    10. Using tmp As nsAString = New nsAString(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) & vbTab & "emp.tmp")
    11. objTarget.InitWithPath(tmp)
    12. End Using
    13. Dim myStream As Stream
    14. Dim saveFileDialog1 As SaveFileDialog = New SaveFileDialog()
    15. saveFileDialog1.Filter = "All files (*.*)|*.*"
    16. saveFileDialog1.FilterIndex = 2
    17. saveFileDialog1.RestoreDirectory = True
    18. saveFileDialog1.FileName = e.Filename
    19. If saveFileDialog1.ShowDialog() = DialogResult.OK Then
    20. myStream = saveFileDialog1.OpenFile()
    21. If Not myStream Is Nothing Then
    22. Dim source As nsIURI = IOService.CreateNsIUri(e.Url)
    23. Dim dest As nsIURI = IOService.CreateNsIUri(New Uri(saveFileDialog1.FileName).AbsoluteUri)
    24. Dim t As nsAStringBase = CType(New nsAString(System.IO.Path.GetFileName(saveFileDialog1.FileName)), nsAStringBase)
    25. Dim persist As nsIWebBrowserPersist = Xpcom.CreateInstance(Of nsIWebBrowserPersist)("@mozilla.org/embedding/browser/nsWebBrowserPersist;1")
    26. Dim nst As nsITransfer = Xpcom.CreateInstance(Of nsITransfer)("@mozilla.org/transfer;1")
    27. nst.Init(source, dest, t, e.Mime, 0, Nothing, persist, False)
    28. If nst IsNot Nothing Then
    29. persist.SetPersistFlagsAttribute(2 Or 32 Or 16384)
    30. persist.SetProgressListenerAttribute(CType(nst, nsIWebProgressListener))
    31. persist.SaveURI(source, Nothing, Nothing, CUInt(Gecko.nsIHttpChannelConsts.REFERRER_POLICY_NO_REFERRER), Nothing, Nothing, CType(dest, nsISupports), Nothing)
    32. End If
    33. myStream.Close()
    34. End If
    35. End If
    36. End Sub
    37. End Class


    Edit @HansUndFranzZimmer
    hab erst den falschen Code reinkopiert, dieser funktioniert.

    Dieser Beitrag wurde bereits 3 mal editiert, zuletzt von „Takafusa“ ()

    Danke! Scheint zu funktionieren.
    Gibt es denn irgendwo eine Art "Anleitung" wo ich mir das ganze dann auch gut erlernen kann?
    Würde gerne noch dafür sorgen dass auch HTML5 funktioniert. Denn gehe ich auf Seiten wie Mega(.)co steht dort der Browser wäre veraltet.
    Bin das ganze noch am lernen tatsächlich... oder muss ich dafür bspw Gecko 60 o.ä. installieren statt Gecko 45?

    Edit: Fällt mir gerade ein, wäre es Möglich den Download via Progressbar o.ä. anzeigen zu lassen? Aktuell lädt es herunter, man kann allerdings den Progress nicht verfolgen^^

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

    Hi @HansUndFranzZimmer.

    Strategie für Ereignisbehandlung in GeckoFX

    Vielleicht etwas für dich...
    ...mit den Ereignissen, und dem Progress...

    Wegen HTML5.
    Es ist möglich dem GeckoFX eine Browser-Kennung einzupflegen, der sich dann als ein anderer ausgibt.
    Ist zwar kein HTML5, aber zumindest meckert die Webseite nicht.
    Stichwort: "User-Agent". :/

    c.u Joshi aus HH
    Evtl. nen aktuellen Browser wie Chromium verwenden?

    Chromium in vb.net und C# WinForms
    "Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. Lehre einen Mann zu fischen und du ernährst ihn für sein Leben."

    Wie debugge ich richtig? => Debuggen, Fehler finden und beseitigen
    Wie man VisualStudio nutzt? => VisualStudio richtig nutzen
    Hab mal den aktuellen User-Agent vom FireFox im Gecko probiert, mega.io meckert trotzdem, der Header wurde übernommen, hab mich da vergewissert. Bleibt wohl wirklich nur ein aktuellerer Browser, sollte auch eine bessere Performence bringen und möglicherweise mehr Sicherheit, GeckoFx45 ist ja wirklich schon etwas älter.

    Muss auch meine vermutung bezüglich HTM5 korrigieren, auf Wikipedia steht bei unterstütze Standards
    HTML 4.01 (HTML5 wird teilweise unterstützt)

    Hab mal CefSharp.Winforms und GeckoFx45 mit der Test-Seite die Michdi (Link mrMo) zeigte getestet:
    GeckoFx45: 444/555 Punkte
    CefSharp.Winforms 521/555 Punkte.
    Aktueller FireFox 513/555 Punkte.

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