www

Unnamed repository; edit this file 'description' to name the repository.
Log | Files | Refs | Submodules | README | LICENSE

commit 51c9da322fd5c046c6b4b487c82ca6c7d95b4ec4
parent 8a7a53a606d5e8bdcc2498608aa1fefe830dc788
Author: Simon Kornblith <simon@simonster.com>
Date:   Wed,  6 Jun 2012 01:25:28 -0400

Fix save to server in IE

Diffstat:
Mchrome/content/zotero/xpcom/translation/translate.js | 20+++++++++++++++-----
1 file changed, 15 insertions(+), 5 deletions(-)

diff --git a/chrome/content/zotero/xpcom/translation/translate.js b/chrome/content/zotero/xpcom/translation/translate.js @@ -1637,20 +1637,30 @@ Zotero.Translate.Web.prototype._translateServerComplete = function(statusCode, r } // Extract items from ATOM/JSON response - var items = []; - var contents = response.getElementsByTagNameNS("http://www.w3.org/2005/Atom", "content"); + var items = [], contents; + if("getElementsByTagNameNS" in response) { + contents = response.getElementsByTagNameNS("http://www.w3.org/2005/Atom", "content"); + } else { // IE... + contents = response.getElementsByTagName("content"); + } for(var i=0, n=contents.length; i<n; i++) { var content = contents[i]; - if(content.getAttributeNS("http://zotero.org/ns/api", "type") != "json") continue; + if("getAttributeNS" in content) { + if(content.getAttributeNS("http://zotero.org/ns/api", "type") != "json") continue; + } else if(content.getAttribute("zapi:type") != "json") { // IE... + continue; + } try { - item = JSON.parse("textContent" in content ? - content.textContent : content.innerText); + var item = JSON.parse("textContent" in content ? + content.textContent : content.text); } catch(e) { Zotero.logError(e); this.complete(false, "Invalid JSON response received from server"); return; } + + if(!("attachments" in item)) item.attachments = []; this._runHandler("itemDone", null, item); items.push(item); }