Netscape, Mozilla, and Firefox support Protein Explorer's (PE's)
Features of the Molecule
control
panel and
Presentations (PiPEs) automatically
in all modes of use. Microsoft's Internet Explorer
(IE) requires a separate data file (in addition to the PDB
file), and even then displays Features of the Molecule
or PiPEs
only when PE
and the PDB file come from the same computer
(see
below for details).
For this reason,
Netscape (or Mozilla or Firefox) is recommended for those who plan to use PE regularly.
(This recommendation derives from the histories and resulting
current technical characteristics
of the Chime plugin and the two web browsers. These are beyond the control
of the authors of PE. We recognize that the current situation is
inconvenient and are open to feasible ideas to improve it.)
<html><body><pre> [header goes here] </pre></body></html>An example of a properly constructed header file is 1d66_h.htm. Right click in the window displaying this file to view its source. If you use Microsoft Word, Wordpad, or another document editor to create the header file, be sure to save it as plain ASCII text!
(Features of the Molecule/PiPE always works in Netscape.) |
||
The reasons why IE has problems with PE's Features of the Molecule or PiPEs arose because of the way browsers and the Chime plugin evolved. Unfortunately, this evolution has left technical obstacles that are beyond our control (see top of this page above).
This is a technial explanation for those interested. PE's Features of the Molecule and PiPEs obtains the information it displays from the header of the PDB file.. This means that the javascript in the browser must obtain the text of the PDB file header. Beginning with version 2.6, Chime provides a special script command for this purpose, "show pdbheader", which returns the header text block with a single call to the messageCallback function (header lines are delimited by formfeeds). This mechanism works well in Netscape.
In IE, issuing the "show pdbheader" command to Chime usually causes IE to crash, unless the PDB file has no header lines (in which case Chime returns "No pdb header available."). The crash occurs regardless of the length of the header (even a single line). It is not known to me whether this is a bug in Chime, or a problem with the plugin interface in IE that could not be fixed within Chime. I have no control over Chime -- MDL, who provides the Chime executable plugin free, controls its source code. Since IE cannot get the header text from Chime, it must get it by another means.
Cris Necocea taught me how IE can obtain the text of a document it is displaying using javascript's innerHTML or getElementByName. IE can get the header-containing document either from RCSB's URL that displays the header, or from a specially constructed html file containing the header. To do this, PE opens a small child window that loads the header html file, and then copies the header text from the document into a javascript string variable in the parent window (PE). (See gethead_IE_win() in shared/hcquery.js.)
However, for security reasons, IE disallows documents from different servers from communicating with each other (cross-domain security barrier). This means that the html file that supplies the header must come from the same domain as PE itself. This explains the behaviors in the different modes listed above.
Since PE may be operated directly from an RCSB server,
and the same server can also provide the PDB file, this avoids
the cross-domain barrier. If PE comes from a different server
than the PDB file, but in the same domain, the cross-domain
security barrier can be avoided provided that each document
independently asserts its root domain with a javascript statement such as