您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Listen to NPR without having to install Flash, downloads, no ads.
当前为
- // ==UserScript==
- // @name NPR.org HTML5 player
- // @description Listen to NPR without having to install Flash, downloads, no ads.
- // @namespace https://greasyfork.org/users/4813-swyter
- // @match *://www.npr.org/player/v2/mediaPlayer.html*
- // @version 1
- // @grant none
- // @run-at document-start
- // ==/UserScript==
- // https://api.npr.org/query?id=466555217&format=json&apiKey=MDAzMzQ2MjAyMDEyMzk4MTU1MDg3ZmM3MQ010
- // http://www.npr.org/player/v2/mediaPlayer.html?action=1&t=1&islist=false&id=466555217&m=468149502
- // http://www.npr.org/player/v2/mediaPlayer.html?action=1&t=1&islist=false&id=468901493&m=468940337
- // http://www.npr.org/player/v2/mediaPlayer.html?action=1&t=1&islist=false&id=468933562&m=469337177&live=1
- //id = location.search.slice(1).split('&').filter(function(obj){ return obj.contains('id') }).toString().split('=')[1];
- if (!(id = location.search.split('id=')[1].split('&')[0]))
- throw "Invalid identifier, it's not possible to guess what item we want.";
- window.xhr = new XMLHttpRequest();
- xhr.open('GET', 'https://api.npr.org/query?id=' + id + '&format=json&apiKey=MDAzMzQ2MjAyMDEyMzk4MTU1MDg3ZmM3MQ010');
- xhr.responseType = 'json';
- xhr.onload = function(e)
- {
- console.log(this.response);
- container = document.createElement("fieldset");
- selector = document.createElement("select");
- aplayer = document.createElement("audio");
- poster = document.createElement("img");
- flash_sucks = document.querySelector('#homepageFlash, body');
- flash_sucks.parentElement.replaceChild(container, flash_sucks);
- legend = document.createElement("legend");
- legend.textContent = this.response.list.story[0].title.$text;
- poster.src=this.response.list.story[0].image[0].src;
- aplayer.src=this.response.list.story[0].audio[0].format.mp3[0].$text;
- aplayer.controls=true;
- selector.size=10;
- audios=this.response.list.story[0].audio;
- for(var entry in audios)
- {
- console.log("=> ", audios[entry]);
- elem = document.createElement("option");
- elem.value = audios[entry].title.$text;
- selector.add(new Option(audios[entry].title.$text, "LOL"));
- }
- container.appendChild(legend);
- container.appendChild(poster);
- container.appendChild(selector);
- container.appendChild(aplayer);
- };
- xhr.send();