I am having trouble trying to load a view into a frame of a currently open frameset using the Notes:// protocol. I have a frameset, one frame is called ‘Menu’ and one is called ‘Main’. My notes:// protocol address for the view I am trying to load is set like this: notes://server/db.nsf/ViewName?OpenView
The view keeps loading in a separate tab of the Notes Client.
Does anybody know of any attributes I can put following the ?OpenView where i can force the view to load in ‘Main’ of the frameset I am calling it from?
I’m actually using a java applet. The target attribute of the applet wasn’t working so i was looking for another solution using the URL string to set the target.
We’ve used the notes:// protocol quite a lot in Notes client framesets actually… gives you more flexibility in terms of dertermining programmatically what content gets presented in a frame.
How about opening a view from one database into a frame on another database?
It’s not as easy as it sounds. The Designer appears to let you do this, but it gives you now way of specifying which server and file path the target view’s database should be loaded from. The Notes:// protocol gives you full control.
Exactly the scenario we used it for. A dynamic frameset in the Notes client opening different views in different separate databases. I’ve also used this functionality in one of my apps so that users can define what view is first presented to them (via the frameset).
I’ve done something similar to what you are trying to accomplish. This was in an R5 client and I was assured the user community was all Windows based machines. The ‘trick’ that I used was to close the existing frame contents via the Notes API prior to calling the notes:// URL.
In LS make the following declarations where the below Sub will exist.
Declare Function NEMGetCurrentSubprogramWindow Lib “nnotesws.dll” () As Long
Declare Function NEMStopSubprogramWindow Lib “nnotesws.dll” (Byval hWnd As Long) As Integer
Then include the following Sub…
Sub CloseWindow
Dim hWnd As Long
hWnd = NEMGetCurrentSubprogramWindow
NEMStopSubprogramWindow hWnd
End Sub
From there, you merely need to do a “Call CloseWindow” prior to doing the URLOPen method.
This was an international application with hundreds of users. We never experienced any problems.