Autor Thema: Links aus Webbrowser-Steuerelement im Browser öffnen  (Gelesen 4370 mal)

Offline rar

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 856
  • Geschlecht: Männlich
  • Des passt scho
    • click
Sers ihr...

Ich habe in einer DB einen Rahmen, in dem mit einem Microsoft Web Browser-Steuerelement verschiedene Webseiten angezeigt werden können. Dazu habe ich eine Maske mit dem Steuerelement erstellt und im PostOpen vereinfacht diesen Code geschrieben:
Set objMWB = Source.GetObject( "Microsoft Web Browser" )
objMWB.Navigate("http://www.atnotes.de")

Diese Maske zeige ich dann in dem Rahmen an.

Jetzt ist es aber so, dass sich der richtige Browser öffnen soll, wenn man auf der Webseite (die im Notes angezeigt wird) einen Link anklickt. So wie ein <base target="_blank"> im header. Hat jemand eine Idee wo/wie ich das einbauen könnte?

lG
-daniel
« Letzte Änderung: 28.08.08 - 13:53:50 von rar »
†090620141300

Offline Ralf_M_Petter

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.879
  • Geschlecht: Männlich
  • Jeder ist seines eigenen Glückes Schmied
    • Ralf's Blog
Re: Links aus Webbrowser-Steuerelement im Browser öffnen
« Antwort #1 am: 11.08.08 - 14:20:51 »
Ich habe es jetzt nicht extra ausprobiert, aber das Steuerelement hat ja jede Menge Callbackhandler in die du Code reinschreiben kannst. Ich denke mal der für Dich geeignete müsste BeforeNavigate2 sein. Da kannst du dann die URL im externen Browser aufrufen und wenn du Cancel auf true setzt dan sollte auch nichts weiter passieren.

Grüße

Ralf
Jede Menge Tipps und Tricks zu IT Themen findet Ihr auf meinem Blog  Everything about IT  Eine wahre Schatzkiste sind aber sicher die Beiträge zu meinem Lieblingsthema Tipps und Tricks zu IBM Notes/Domino Schaut doch einfach mal rein.

Offline rar

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 856
  • Geschlecht: Männlich
  • Des passt scho
    • click
Re: Links aus Webbrowser-Steuerelement im Browser öffnen
« Antwort #2 am: 11.08.08 - 16:18:02 »
Vielen Dank Ralf.  :D
Der Hinweis war Gold wert.

Leider habe ich keine Hilfe und die ganzen Events sind mir eher fremd.

Das erste mal sollte die Url ja in der Maske, und alle weiteren Links in einem neuen Fenster aufgehen.
Ich habe deshalb im Initialize ein Flag gesetzt und im BeforeNavigate2 folgenden Code geschieben:
   If bNewWindow Then
      Dim ws As New NotesUIWorkspace
      Call ws.URLOpen(Cstr(Url))
      Cancel = True
   Else
      bNewWindow = True
   End If

So funktioniert es.  ;D
Ich hoffe, dass ich da keinen groben Denkfehler drin habe und mir irgend etwas anderes ausgehebelt habe....

lG
-daniel
†090620141300

Offline Ralf_M_Petter

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.879
  • Geschlecht: Männlich
  • Jeder ist seines eigenen Glückes Schmied
    • Ralf's Blog
Re: Links aus Webbrowser-Steuerelement im Browser öffnen
« Antwort #3 am: 12.08.08 - 07:37:56 »
Freut mich, dass es geklappt hat. Das Webcontrol von Microsoft sollte eigentlich auf MSDN genauestens dokumentiert sein.  Dort gibt es auch viele Beispiele, die in Visual Basic sind. Die kannst du mit reltiv geringen Aufwand auf Notes portieren.

Nur als Hinweis, solche Lösungen wie du Sie erstellt hast funktionieren nur unter Windows. Eventuell mal andenken, ob du nicht auf Notes 8 wechseln möchtest. Dort gibt es ja dann andere Möglichkeiten webbrowser Komponenten einzubinden.

Grüße

Ralf
Jede Menge Tipps und Tricks zu IT Themen findet Ihr auf meinem Blog  Everything about IT  Eine wahre Schatzkiste sind aber sicher die Beiträge zu meinem Lieblingsthema Tipps und Tricks zu IBM Notes/Domino Schaut doch einfach mal rein.

Offline rar

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 856
  • Geschlecht: Männlich
  • Des passt scho
    • click
Re: Links aus Webbrowser-Steuerelement im Browser öffnen
« Antwort #4 am: 12.08.08 - 08:37:30 »
Werde mich mal auf die Hilfesuche machen. Danke nochmal für die Hinweise.

Da bei uns flächendeckend auf den Clients nur Windows eingesetzt ist, brauch ich mir keine Kompatibilitätsgedanken (mensch, was für ein schweres Wort...) machen.
Notes8 würde ich gerne einsetzen. Aber ich bin ja nur ein kleiner Programmierer. Das müssen andere Leute entscheiden.

lG
-daniel
†090620141300

Offline rar

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 856
  • Geschlecht: Männlich
  • Des passt scho
    • click
Re: Links aus Webbrowser-Steuerelement im Browser öffnen
« Antwort #5 am: 28.08.08 - 13:50:07 »
Hmmmm.....
Jetzt stehe ich wieder vor einem Problem.

Zur Zeit setze ich ein Flag im DocumentComplete wenn das Dok fertig geladen ist. Das wird dann im BeforeNavigate2 abgefragt. Wenn es gesetzt ist, dann öffne ich den Link mit diesem Code in einem neuen Fenster.
Call ws.URLOpen(Cstr(Url))
Cancel = True

Theoretisch sollte es so funktionieren. In der Praxis schaut es aber so aus, dass einige Webseiten aus mehreren Seiten bestehen. Wenn ich z.B. http://derstandard.at/ öffne, komm ich bis die Seite komplett geöffnet wird ca 5mal ins DocumentComplete und ins BeforeNavigate2 rein. Bis die Seite also offen ist, öffnen sich durch den Code im BeforeNavigate2 mehrere leere Fenster.

Irgendwie bräuchte ich ein Clickevent in dem Webbrowser, bei dem ich das Flag setze. Oder ein DieSeiteIstVollständigGeladenEvent.

Leider habe ich nichts dergleichen gefunden. Hat vielleicht jemand eine Idee, wie ich das machen könnte?

-daniel
†090620141300

Offline Ralf_M_Petter

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.879
  • Geschlecht: Männlich
  • Jeder ist seines eigenen Glückes Schmied
    • Ralf's Blog
Re: Links aus Webbrowser-Steuerelement im Browser öffnen
« Antwort #6 am: 28.08.08 - 14:42:07 »
Nun ich an Deiner Stelle würde halt mal schauen, was genau dass BeforeNavigate2 auslöst und ob es dabei irgendwelche Gemeinsamkeiten gibt, die du in deinem Script erkennen könntest.

Grüße

Ralf
Jede Menge Tipps und Tricks zu IT Themen findet Ihr auf meinem Blog  Everything about IT  Eine wahre Schatzkiste sind aber sicher die Beiträge zu meinem Lieblingsthema Tipps und Tricks zu IBM Notes/Domino Schaut doch einfach mal rein.

Offline rar

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 856
  • Geschlecht: Männlich
  • Des passt scho
    • click
Re: Links aus Webbrowser-Steuerelement im Browser öffnen
« Antwort #7 am: 28.08.08 - 16:07:40 »
Naja, das BeforeNavigate2 wird ja bei jedem laden der Seite aufgerufen. Leider besteht derStandard.at aus 5 Seiten und mir ist nicht klar wie abgefragt werden kann, ob die gesamte Seite fertig geladen ist.
†090620141300

Offline Ralf_M_Petter

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.879
  • Geschlecht: Männlich
  • Jeder ist seines eigenen Glückes Schmied
    • Ralf's Blog
Re: Links aus Webbrowser-Steuerelement im Browser öffnen
« Antwort #8 am: 28.08.08 - 16:33:56 »
Ich meinte du sollst mal schauen, ob die 5 Seiten aus denen der Standard besteht irgendwas gemeinsam haben. Poste doch mal die Urls die du beim BeforeNavigate bekommst?

Grüße

Ralf
Jede Menge Tipps und Tricks zu IT Themen findet Ihr auf meinem Blog  Everything about IT  Eine wahre Schatzkiste sind aber sicher die Beiträge zu meinem Lieblingsthema Tipps und Tricks zu IBM Notes/Domino Schaut doch einfach mal rein.

Offline rar

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 856
  • Geschlecht: Männlich
  • Des passt scho
    • click
Re: Links aus Webbrowser-Steuerelement im Browser öffnen
« Antwort #9 am: 29.08.08 - 08:22:41 »
Wenn ich im Postopen diesen Code ausführ,
Code
Dim objMWB As Variant
Set objMWB = Source.GetObject( "Microsoft Web Browser" )
objMWB.Navigate("http://derstandard.at")
dann komm ich 17 mal ins BeforeNavigate2.  :-\

Folgende Seiten werden geöffnet (TF = TargetFrame):

Code
TF: topnav
Url: javascript:c='<html><body><img%20src='%20+%20unescape('%22')%20+%20'http://derstandard.at/img/site/top/derStandard.at.gif'
%20+%20unescape('%22')%20+%20'></body></html>'

TF: leftnav
Url: about:blank

TF: HAUPTFRAME
Url: http://derstandard.at/?ressort=Seite1

TF: bottomnav
Url: about:blank

TF: fremdInterface
Url: about:blank

TF: topnav
Url: http://derstandard.at/?page=topnav

TF: 
Url: http://derstandard.at/MetaAdServer/provider.asp?i1=1&i2=1&i3=true&p=13&v1=derstandard.at/newsroom_uebersicht&v2=Middle1

TF: 
Url: http://derstandard.at/MetaAdServer/provider.asp?i1=1&i2=1&i3=true&p=13&v1=derstandard.at/newsroom_uebersicht&v2=Middle2

TF: 
Url: http://derstandard.at/MetaAdServer/provider.asp?i1=1&i2=1&i3=true&p=13&v1=derstandard.at/newsroom_uebersicht&v2=Middle3

TF: 
Url: http://derstandard.at/MetaAdServer/provider.asp?i1=1&i2=1&i3=true&p=13&v1=derstandard.at/newsroom_uebersicht&v2=Right1

TF: 
Url: http://derstandard.at/MetaAdServer/provider.asp?i1=1&i2=1&i3=true&p=13&v1=derstandard.at/newsroom_uebersicht&v2=Right2

TF: 
Url: http://derstandard.at/MetaAdServer/provider.asp?i1=1&i2=1&i3=true&p=13&v1=derstandard.at/newsroom_uebersicht&v2=Right3

TF: advframe
Url: about:blank

TF: leftnav
Url: javascript:c='<html><head><title>NoNav</title></head><body%20bgcolor="#D8DBD8"></body></html>'

TF: advframe
Url: http://derstandard.at/MetaAdServer/werbung.asp?rt=cp/seite1/ressort

TF: bottomnav
Url: http://derstandard.at/?page=bottomnav

TF: 
Url: http://derstandard.at/AdServer/AdServerM.aspx?Position=Honda_Sidebar_CRV_August08&type=10
« Letzte Änderung: 29.08.08 - 08:24:30 von rar »
†090620141300

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz