// ==UserScript== // @name 虾米wiki助手 // @namespace http://tampermonkey.net/ // @version 1.0 // @description 帮助X友填充资料,目前仅支持Amazon的部分自动填写。 // @author XMAnon // @match *://emumo.xiami.com/wiki/addalbum* // @connect www.amazon.com // @connect www.amazon.de // @connect www.amazon.fr // @connect www.amazon.it // @connect www.amazon.es // @grant GM_xmlhttpRequest // Done: // wiki页填入资料来源后,点击虾填,稍等一两秒后再点击一次,将自动填充专辑名,艺人,发行时间信息,公司 // 目前仅支持Amazon unlimit stream mp3页面的地址 // Planned: // BandCamp,MusicBrainz,Discogs // Amazon + JP, Download and Select Pic File // // @downloadURL none // ==/UserScript== //虾米填专辑,根据参考资料页,自动填充 (function() { 'use strict'; //虾填:在添加专辑第一个页面,根据参考资料页面抓取信息 var editTime = function (rawTime) { var time = rawTime.split(' '); var output; console.log(time); var timeMode = [0,1] const charMM = ['January','February','March','April','May','June','July','August','September','October','November','December']; const numMM = ['01','02','03','04','05','06','07','08','09','10','11','12']; if (charMM.indexOf(time[0]) >-1 ) //MM-DD-YYYY(US) e.g December 18, 1992 { output = time[2] + '-' + numMM[charMM.indexOf(time[0])] + '-' + time[1].replace(',',''); console.log(output); return output } else if (charMM.indexOf(time[1]) >-1 )//DD-MM-YYYY(DE,IT,ES,FR) e.g. 18 December 1992 / 18. December 1992 { output = time[2] + '-' + numMM[charMM.indexOf(time[1])] + '-' + time[0].replace('.',''); console.log(output); return output; } //YYYY/MM/DD (JP) --> YYYY/MM/DD } var getPage = ''; var getStatus; var getData = function (){ var wikiUrl = document.getElementById("wiki").value; var details = { method: "GET", url: wikiUrl, headers: { "User-Agent": "Mozilla/5.0", // If not specified, navigator.userAgent will be used. "Accept": "text/xml" // If not specified, browser defaults will be used. }, onload: function(response) { var responseXML = null; // Inject responseXML into existing Object (only appropriate for XML content). if (!response.responseXML) { responseXML = new DOMParser() .parseFromString(response.responseText, "text/xml"); } getPage = response.responseText; getStatus = response.status; console.log('2'); } } GM_xmlhttpRequest(details); console.log('3'); if (getStatus === 200) { switch(true){ case (wikiUrl.indexOf('amazon') > -1): //专辑名 专辑艺人 发行时间 发行公司 console.log('1'); document.getElementById("title").value = getPage.split('dmusicProductTitle_feature_div')[1].split('')[0].split('