Hallo,
ich hab nun mein Bestes gegeben, aber - wie zu vermuten - bin ich nicht fündig geworden.
Mein Problem ist folgendes:
Ich nutze einen temporären WebBrowser um die Wettervorhersage eines dynamisch wechselnden Ortes auszudrucken. Das funktioniert auch alles soweit, nur wird beim direkten Zugriff auf die Seite das Diagramm bzgl. des Temperaturverlaufes nicht angezeigt. Der Browser gibt auch einen entsprechenden Skriptfehler zurück:
---------------------------
Titel: Skriptfehler
Fehlermeldung: In dem Skript auf dieser Seite ist ein Fehler aufgetreten.
Zeile: 0
Zeichen: 0
Fehler: Script error
Code: 0
URL: "http://ls1.wettercomassets.com/js/diagrams.js"
Möchten Sie, dass Scripts auf dieser Seite weiterhin ausgeführt werden?
---------------------------
Der Witz ist, dass wenn man manuel im Webbrowser beispielsweise über:
"http://www.wetter.com/wetter_aktuell/wettervorhersage/7_tagesvorhersage/?id=DE0001020"
die Druckversion öffnet kein Fehler kommt und das Diagramm erscheint. Wenn man aber den Pfad - zur Druckversion - verwendet (="direkter Pfad"), erhalte ich o.a. Skriptfehler.
"http://www.wetter.com/wetter_aktuell/wettervorhersage/7_tagesvorhersage/?id=DE0001020&print=true"
Wenn ich euch das eben so erläutere komme ich nur auf die "unschöne" Idee die "Hauptseite" laden zu lassen und anschließend die Druckversion zu öffnen und dann den Druckbefehl auszulösen. Aber ich hoffe von euch ist eine/einer fitt genug um sich der Sache anzunehmen und mir zu helfen. Bzw. zu sagen woran es überhaupt liegt, dass es nicht geht. Denn:
"Wissen ist Macht, und nichts wissen macht nichts."
Ich will mein Bestes geben um diese Sache sauber zu lösen, darum hier der Vollständigkeit halber der Quelltext und danke vorab, dass Du soweit gelesen hast:
Hinweise:
PS: Erfahrung ist eine nützliche Sache. Leider macht man sie immer erst kurz nachdem man sie brauchte.
ich hab nun mein Bestes gegeben, aber - wie zu vermuten - bin ich nicht fündig geworden.
Mein Problem ist folgendes:
Ich nutze einen temporären WebBrowser um die Wettervorhersage eines dynamisch wechselnden Ortes auszudrucken. Das funktioniert auch alles soweit, nur wird beim direkten Zugriff auf die Seite das Diagramm bzgl. des Temperaturverlaufes nicht angezeigt. Der Browser gibt auch einen entsprechenden Skriptfehler zurück:
---------------------------
Titel: Skriptfehler
Fehlermeldung: In dem Skript auf dieser Seite ist ein Fehler aufgetreten.
Zeile: 0
Zeichen: 0
Fehler: Script error
Code: 0
URL: "http://ls1.wettercomassets.com/js/diagrams.js"
Möchten Sie, dass Scripts auf dieser Seite weiterhin ausgeführt werden?
---------------------------
Der Witz ist, dass wenn man manuel im Webbrowser beispielsweise über:
"http://www.wetter.com/wetter_aktuell/wettervorhersage/7_tagesvorhersage/?id=DE0001020"
die Druckversion öffnet kein Fehler kommt und das Diagramm erscheint. Wenn man aber den Pfad - zur Druckversion - verwendet (="direkter Pfad"), erhalte ich o.a. Skriptfehler.
"http://www.wetter.com/wetter_aktuell/wettervorhersage/7_tagesvorhersage/?id=DE0001020&print=true"
Wenn ich euch das eben so erläutere komme ich nur auf die "unschöne" Idee die "Hauptseite" laden zu lassen und anschließend die Druckversion zu öffnen und dann den Druckbefehl auszulösen. Aber ich hoffe von euch ist eine/einer fitt genug um sich der Sache anzunehmen und mir zu helfen. Bzw. zu sagen woran es überhaupt liegt, dass es nicht geht. Denn:
"Wissen ist Macht, und nichts wissen macht nichts."
Ich will mein Bestes geben um diese Sache sauber zu lösen, darum hier der Vollständigkeit halber der Quelltext und danke vorab, dass Du soweit gelesen hast:
Hinweise:
- nTage = 3 oder 7 oder 16
- der iStadtCode zu o.g. Beispiel lautet: DE0001020
- Drucken = Wahr wenn im Hintergrund/im temporären Browser gedruckt werden soll (hier erscheint kein Diagramm und die Skriptfehler-Meldung), Falsch wenn sich der standardmäßig eingestellte Browser öffnen soll (hier wird das Diagramm angezeigt, bei mir Mozilla Firefox)
VB.NET-Quellcode
- Function WetterHP_Oeffnen(ByVal nTage As Integer, ByVal iStadtCode As String, ByVal Drucken As Boolean) As Boolean
- 'Logikprüfungen
- If iStadtCode = vbNullString Then Return False
- Select Case nTage
- Case 3, 7, 16
- 'Prozess
- If Drucken = True Then
- 'temporären Webbrowser laden
- Dim iBr As New WebBrowser
- 'Skriptfehler nicht anzeigen
- iBr.ScriptErrorsSuppressed = True
- 'Seite öffnen
- iBr.Navigate("http://www.wetter.com/wetter_aktuell/wettervorhersage/" & nTage & "_tagesvorhersage/?id=" & iStadtCode & "&print=true")
- 'Warte auf HP
- While iBr.ReadyState <> WebBrowserReadyState.Complete
- Application.DoEvents()
- End While
- iBr.Document.InvokeScript("print")
- Return True
- Else
- 'Standardbrowser öffnen
- Process.Start("http://www.wetter.com/wetter_aktuell/wettervorhersage/" & nTage & "_tagesvorhersage/?id=" & iStadtCode & "&print=true")
- Return True
- End If
- Case Else
- 'iStadtCode oder nTage entspricht nicht den Vorgaben
- Return False
- End Select
- End Function
PS: Erfahrung ist eine nützliche Sache. Leider macht man sie immer erst kurz nachdem man sie brauchte.
Dieser Beitrag wurde bereits 6 mal editiert, zuletzt von „FranzKlammer“ ()