NOTICE: By continued use of this site you understand and agree to the binding Terms of Service and Privacy Policy.
// ==UserScript== // @name 豆瓣电影在线观看 // @namespace http://tampermonkey.net/ // @version 0.1 // @description 提供在线观看豆瓣电影的链接 // @author anc95 // @match https://movie.douban.com/subject/* // @include https://movie.douban.com/subject/* // @icon https://www.google.com/s2/favicons?domain=douban.com // @grant none // @license MIT // ==/UserScript== function invirant(condition, message) { if (!condition) { throw '[豆瓣电影在线观看]', '获取电影名失败'; } } function getMovieName() { var innerText = document.querySelector('.related-info').innerText; var movieName = innerText.substring(innerText, innerText.indexOf('的剧情简介')); invirant(movieName); return movieName; } function getMovieList(movieName) { const url = 'https://api.jackeriss.com/api/v1/search/?text=' + movieName + '&type=0&from=0&size=10'; return fetch(url) .then(function(res) { return res.json(); }) .then(function({resources}) { appendMovieLink(resources); }) } function ensureContainer() { var movieContainer = document.querySelector('.gray_ad'); if (movieContainer && movieContainer.innerText.includes('在哪儿看这部')) { return } var aside = document.querySelector('.aside'); var grayad = document.createElement('div'); grayad.className = 'gray_ad'; grayad.innerHTML = [ '<h2>', '在哪儿看这部电影 · · · · · ·', '</h2>', '<ul class="bs">', '</ul>' ].join(''); aside.prepend(grayad); } function appendMovieLink(resources) { var internalPlatform = ['爱奇艺', '腾讯视频', '优酷', 'bilibili']; var movieContainer = document.querySelector('.gray_ad'); function append(resource) { if (internalPlatform.includes(resource.website)) { return; } var ul = movieContainer.querySelector('ul'); var htmlContent = [ '<a class="playBtn" target="_blank" href=', resource.url, '>', resource.website, '</a>', '<span class="buylink-price" style="left: 130px; position: absolute; color: #999;"><span>免费观看</span></span>' ].join(''); var li = document.createElement('li'); li.innerHTML = htmlContent; ul.append(li); } resources.forEach(append); } (function() { 'use strict'; ensureContainer(); var movieName = getMovieName(); getMovieList(movieName); })();