How many times do we have to run a Web agent to update information on other documents - while not wanting to move from this URL? We have to save this document - call the agent and then have the agent put us back here - 2 server hits and delayed time for the user. Potential cache nightmare if trying to use history.go(-x).
Here is a real timesaver and improved usability for the user - only one server hit and no time lost.
This can also be a good trigger to run agents in other databases especially when your LotusScript cannot access other servers. Pass any/all relevant information in the Query_String_Decoded you can run any agent anywhere you like - whenever you like.
Create a link on your document to call a javascript function
The function then uses innerHTML to create an invisible IFRAME. (The IFRAME
has height=0 width=0 so occupies no space on the form.) The src of the IFRAME is such that an agent is called and runs right there - without changing the URL of the existing page.
on the form passthru HTML - <DIV id="divBookmark"></DIV>
call the OpenAgent function below
function OpenAgent(){
//link is the would-be URL of your agent
var link="http://servername/database.nsf/agentname?openagent"
//create the IFRAME in the div as innerHTML
var sTemp="<IFRAME src='"+link+"' width=0 height=0></IFRAME>
document.all.divBookmark.innerHTML=sTemp
}
A working example could be a "Send Email" button which
Requires Free Membership to View
Register today to access targeted resources from our editorial writers and independent industry experts focused on Lotus Domino, Notes, Workplace and other related technologies.
When the agent is complete you could have it print a return to notify the user
Print <SCRIPT>alert('Email Sent')</SCRIPT>
This was first published in April 2002