{ "translatorID": "d0b1914a-11f1-4dd7-8557-b32fe8a3dd47", "label": "EBSCOhost", "creator": "Simon Kornblith and Michael Berkowitz", "target": "^https?://[^/]+/(?:eds|bsi|ehost)/(?:results|detail|folder)", "minVersion": "1.0.0b3.r1", "maxVersion": "", "priority": 100, "inRepository": "1", "translatorType": 4, "lastUpdated": "2011-03-24 23:30:00" } function detectWeb(doc, url) { var namespace = doc.documentElement.namespaceURI; var nsResolver = namespace ? function(prefix) { if (prefix == 'x') return namespace; else return null; } : null; // The Scientific American Archive breaks this translator, disabling try { var databases = doc.evaluate("//span[@class = 'selected-databases']", doc, nsResolver, XPathResult.ANY_TYPE, null).iterateNext().textContent; if(databases.indexOf("Scientific American Archive Online") != -1) { return false; } } catch(e) { } // See if this is a search results or folder results page var searchResult = doc.evaluate('//ul[@class="result-list" or @class="folder-list"]/li/div[@class="result-list-record" or @class="folder-item"]', doc, nsResolver, XPathResult.ANY_TYPE, null).iterateNext(); if(searchResult) { return "multiple"; } /* var xpath = '//div[@class="citation-wrapping-div"]/dl[@class="citation-fields"]/dt[starts-with(text(), "Persistent link to this record")' +' or starts-with(text(), "Vínculo persistente a este informe")' +' or starts-with(text(), "Lien permanent à cette donnée")' +' or starts-with(text(), "Permanenter Link zu diesem Datensatz")' +' or starts-with(text(), "Link permanente al record")' +' or starts-with(text(), "Link permanente para este registro")' +' or starts-with(text(), "本記錄固定連結")' +' or starts-with(text(), "此记录的永久链接")' +' or starts-with(text(), "このレコードへのパーシスタント リンク")' +' or starts-with(text(), "레코드 링크 URL")' +' or starts-with(text(), "Постоянная ссылка на эту запись")' +' or starts-with(text(), "Bu kayda sürekli bağlantı")' +' or starts-with(text(), "Μόνιμος σύνδεσμος σε αυτό το αρχείο")]'; */ var xpath = '//input[@id="ctl00_ctl00_Column2_Column2_topDeliveryControl_deliveryButtonControl_lnkExport"]'; var persistentLink = doc.evaluate(xpath, doc, nsResolver, XPathResult.ANY_TYPE, null); if(persistentLink) { return "journalArticle"; } } var customViewStateMatch = // var host; function fullEscape(text) { return escape(text).replace(/\//g, "%2F").replace(/\+/g, "%2B"); } function generateDeliverString(nsResolver, doc){ var hiddenInputs = doc.evaluate('//input[@type="hidden" and not(contains(@name, "folderHas")) and not(@name ="ajax")]', doc, nsResolver, XPathResult.ANY_TYPE, null); var hiddenInput; var deliverString =""; while(hiddenInput = hiddenInputs.iterateNext()) { if (hiddenInput.name !== "__EVENTTARGET" && hiddenInput.name !== "") { deliverString = deliverString+hiddenInput.name.replace(/\$/g, "%24")+"="+encodeURIComponent(hiddenInput.value) + "&"; } } var otherHiddenInputs = doc.evaluate('//input[@type="hidden" and contains(@name, "folderHas")]', doc, nsResolver, XPathResult.ANY_TYPE, null); while(hiddenInput = otherHiddenInputs.iterateNext()) { deliverString = deliverString+hiddenInput.name.replace(/\$/g, "%24")+"="+escape(hiddenInput.value).replace(/\//g, "%2F").replace(/%20/g, "+") + "&"; } deliverString = "__EVENTTARGET=ctl00%24ctl00%24Column2%24Column2%24topDeliveryControl%24deliveryButtonControl%24lnkExport&" + deliverString; return deliverString; } /* * given the text of the delivery page, downloads an item */ function downloadFunction(text) { var postMatch = false; var form = text.match(/