diff --git a/chrome/content/zotero/zoteroPane.js b/chrome/content/zotero/zoteroPane.js index 50e5dfa40..7c3426ea7 100644 --- a/chrome/content/zotero/zoteroPane.js +++ b/chrome/content/zotero/zoteroPane.js @@ -3369,6 +3369,7 @@ var ZoteroPane = new function() for each(var item in items) { if (item.isRegularItem()) { + //Prefer physical attachments (not links) var uri = Components.classes["@mozilla.org/network/standard-url;1"] .createInstance(Components.interfaces.nsIURI); var snapID = item.getBestAttachment(); @@ -3383,6 +3384,7 @@ var ZoteroPane = new function() } } + //fall back to URI field then DOI var uri = item.getField('url'); if (!uri) { var doi = item.getField('DOI'); @@ -3394,6 +3396,16 @@ var ZoteroPane = new function() } } } + + //fall back to first link attachment + if(!uri) { + var link = item.getAttachments()[0]; + if(link) { + link = Zotero.Items.get(link); + if(link) uri = link.getField('url'); + } + } + if (uri) { ZoteroPane_Local.loadURI(uri, event); }