您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Open arXiv sites with arXivCN
- // ==UserScript==
- // @name GotoArXivCN
- // @namespace https://github.com/zzilch/GotoArXivMirrors
- // @homepage https://github.com/zzilch/GotoArXivMirrors
- // @version 1.1
- // @author zzilch
- // @description Open arXiv sites with arXivCN
- // @include /^https?://(.*\.)?arxiv\.org/.*/
- // @include http://xxx.itp.ac.cn/*
- // @run-at document-start
- // ==/UserScript==
- (function() {
- 'use strict';
- // useful funcitons
- function incompletePDF(url){ return url.includes('/pdf') && !url.endsWith('pdf') }
- function abstractURL(url){ return url.includes('/abs') }
- // available mirrors
- let mirrors = {
- 'Main':'arxiv.org',
- 'China':'xxx.itp.ac.cn',
- 'Germany':'de.arxiv.org',
- 'India':'in.arxiv.org',
- }
- // auto redirect to ArxivCN
- if(!location.href.includes(mirrors.China)){
- let url = location.href.replace(location.hostname,mirrors.China).replace('https','http')
- url = incompletePDF(url) ? url+'.pdf' : url
- location.replace(url)
- }
- // append the filename extension for downloading
- if(incompletePDF(location.href)) { history.pushState(null,"",location.href+'.pdf') }
- // complete pdf url with filename extension after the document is loaded
- onload = function(){
- if(abstractURL(location.href))
- { document.querySelector("#abs > div.extra-services > div.full-text > ul > li:nth-child(1) > a").href += '.pdf' }
- }
- })();