Popup Blocker
- PE requires the ability to open (pop-up) new windows in order to work
at all.
- Firefox makes it easy to allow popups from HTML disk files, while
blocking popups from on-line websites.
Enabling popups from a downloaded Protein Explorer results in "scheme:file"
being shown in the Allowed Sites list.
In Netscape 7.2 (rv 1.7.2) and Mozilla,
you have to disable all blocking to enable PE to work from
downloaded files.
- If both Netscape 7.2 and Mozilla 1.7.5 are installed, they share
profiles including the popup blocker settings. Thus, if you disable popup
blocking in one, it will be disabled in the other (if using the same profile).
Firefox's popup blocker settings are independent of Netscape and Mozilla.
Sending Command Script Strings to Chime
- PE works by constructing command script strings (as javascript
string variables)
and sending them to Chime.
- Chime includes a built-in executeScript(script) function, but this
works only when the browser has LiveConnect. Netscape Communicator 4
has LiveConnect, but the Gecko browsers and Internet Explorer lack it.
- In all browsers, command scripts can be sent to Chime using a method
called IMBIF (Immediate-Mode Button in Invisible Frame). This method is
used by PE in Gecko browsers
(shared/s2c2.js, protexpl/morfdoc.js, protexpl/nmr.js).
- IMBIF employs an invisible IFRAME
(protexpl/pe_proj.htm, protexpl/morfdoc.js, protexpl/nmr.js)
which initially contains a blank document. To send a command script,
an immediate-mode Chime button is written into the IFRAME document.
The method of referring to the IFRAME for the purposes of writing
the contained document was changed by EC for Gecko.
Browser Detection and Awareness
Internally, PE uses top level boolean variables isNetscape4, isIE,
isGecko (see shared/browget.js, protexpl/morfdoc.js, protexpl/nmr.js). For
isGecko, the top level variable thisBrowser is set to "ns7",
"moz", or "ff". Browser compatibility checking is done in
protexpl/pe2.htm.