X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=examples%2Fjavascript%2Fjalview.js;h=9196b4adce114ce0bbad298561010355989f08ec;hb=ab43013b7e357b84b4abade0dba949668dfb2a0e;hp=34f72eb6a428916f91428b8c4a8b7ba338f37086;hpb=59d682209891099d46b960509907c79e3fb276fe;p=jalview.git diff --git a/examples/javascript/jalview.js b/examples/javascript/jalview.js index 34f72eb..9196b4a 100644 --- a/examples/javascript/jalview.js +++ b/examples/javascript/jalview.js @@ -1,6 +1,6 @@ /** - * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8) - * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle + * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.2b1) + * Copyright (C) 2014 The Jalview Authors * * This file is part of Jalview. * @@ -14,7 +14,9 @@ * PURPOSE. See the GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along with Jalview. If not, see . + * The Jalview Authors are detailed in the 'AUTHORS' file. */ + // default console to report messages var _console = document.getElementById("stdout"); var _jvapps = new Array(); @@ -25,6 +27,21 @@ var _modeltofiles = new Array(); // counter for jmol structures var mnum = 1; +function getDocumentBase() { + var dburi = document.baseURI; + // IE does not support document.baseURI + // logic from patch to TYPO3: + // http://forge.typo3.org/projects/typo3cms-core/repository/revisions/f61358afad28adb6dcaeb270ba480e998dfb0b79/diff/typo3/sysext/rtehtmlarea/htmlarea/htmlarea.js + if (!dburi) { + var baseTags = document.getElementsByTagName('base'); + if (baseTags.length > 0) { + dburi = baseTags[0].href; + } else { + dburi = document.URL; + } + } + return dburi.substring(0, dburi.lastIndexOf("/") + 1); +} function setConsole(console) { _console = console; } @@ -145,7 +162,7 @@ function linkJvJmol(applet, jmolView, modeltofiles) { jmbinding._jmol=jmolView; // now update structureListener list mtf=""; - var dbase = document.baseURI.substring(0,document.baseURI.lastIndexOf("/")+1); + var dbase = getDocumentBase(); for (m in jmbinding._modelstofiles) { if (m>0) { mtf+=sep; } mtf+=jmbinding._modelstofiles[m]; @@ -188,10 +205,8 @@ function _structure(list1, list2, list3, list4) { ("" + list4)); // 1 is pdb file, 2 is residue number, 3 is chain // list1 = new Object(list1); - var base = list[1].indexOf(document.baseURI - .substring(0, document.baseURI.lastIndexOf('/')) - ); // .indexOf(_path); - if (base==0) { base = document.baseURI.lastIndexOf('/'); } + var base = list[1].indexOf(getDocumentBase()); // .indexOf(_path); + if (base==0) { base = getDocumentBase(); } var sid = list[1]; // .substring(base); base = list[1].substring(0, base); if (_console) { @@ -296,8 +311,7 @@ function _jmolhover(jmid, atomlabel, atomidx) { // use atomlabel[5] to look up model filename so we can highlight associated positions in any jalviews for (ap in _jvapps) { _jvapps[ap].mouseOverStructure(atomlabel[2], atomlabel[3], - document.baseURI - .substring(0, document.baseURI.lastIndexOf('/')) + getDocumentBase() + "/" + modeltofiles[atomlabel[5]]); msg = _jmolhovermsg;