NOTICE: By continued use of this site you understand and agree to the binding Terms of Service and Privacy Policy.
// ==UserScript== // @name Auto Paper Access // @updateURL https://openuserjs.org/meta/lushl9301/Auto_Paper_Access.meta.js // @copyright 2017, lushl9301 (https://github.com/lushl9301) // @version 8.1 // @description A simple script runs on Tampermonkey. You can easily access IEEE Xplore, ACM Digital Library, etc without clicking proxy bookmarklet provided by universities. // @author lushl9301, koallen // @license MIT // @run-at document-body // @match www.sciencedirect.com/* // @match ieeexplore.ieee.org/* // @match dl.acm.org/* // @match *.springer.com/* // @match onlinelibrary.wiley.com/doi/* // @match www.ncbi.nlm.nih.gov/pubmed/* // @match epubs.siam.org/* // @match www.nature.com/* // @match pubsonline.informs.org/* // @match *.ezlibproxy1.ntu.edu.sg/* // @require https://openuserjs.org/src/libs/sizzle/GM_config.js // @grant GM_getValue // @grant GM_setValue // ==/UserScript== (function() { 'use strict'; // initialization var currUniversity, prevUniversity; var defaultUniversity = '====N.A.===='; GM_config.init( { 'id': 'universityConfig', 'title': 'Choose your university', 'fields': { 'university': // field id { 'label': 'University', 'type': 'select', 'options': [defaultUniversity, 'Nanyang Technological University', 'National University of Singapore'], 'default': defaultUniversity } }, 'events': { 'init': function() { currUniversity = GM_config.get('university'); }, 'open': function() { // custom layout var config_ui = this.frame; config_ui.style.height = ''; config_ui.style.margin = 'auto'; config_ui.style.width = '20%'; config_ui.style.left = '40%'; GM_config.fields['university'].node.addEventListener('change', function () { currUniversity = GM_config.fields['university'].toValue(); }, false); GM_config.fields['university'].node.addEventListener('focus', function() { prevUniversity = GM_config.fields['university'].toValue(); }, false); }, 'save': function() { if (prevUniversity !== currUniversity) location.reload(); } }, 'css': '#universityConfig .config_header { font-size: 20px; margin: 0 0 10 0; }' }); // display a button to toggle config panel var button = document.createElement('button'); button.innerHTML = "Auto Paper Access"; button.style = "top:1em;right:1em;position:fixed;z-index: 9999"; button.setAttribute('type', 'button'); button.addEventListener('click', function(){GM_config.open();}, false); document.body.appendChild(button); // display config or access with uni account if (currUniversity === defaultUniversity) { GM_config.open(); } else if ("Nanyang Technological University" === currUniversity) { if (!location.href.includes("ezlibproxy1.ntu.edu.sg")) { location.href = "https://ezlibproxy1.ntu.edu.sg/login?url=" + location.href; } } else if ('National University of Singapore' == currUniversity) { location.href = "http://libproxy1.nus.edu.sg/login?url=" + location.href; } })();