返回首頁 

电影天堂跳转豆瓣搜索

在电影天堂、阳光电影、6v电影网、美剧天堂等网站搜到的影片,可以快捷的跳转到豆瓣搜索页面、跳转到下载地址。查看评分、评论、演员信息等


Install this script?
// ==UserScript==// @name         电影天堂跳转豆瓣搜索// @match        *://www.dytt8.net/*// @match        *://www.ygdy8.com/*// @match        *://www.dydytt.net/*// @match        *://www.6v520.com/*// @match        *://www.6v520.net/*// @match        *://www.meijutt.tv/*// @namespace    http://mdkml.cn// @version      1.0// @description  在电影天堂、阳光电影、6v电影网、美剧天堂等网站搜到的影片,可以快捷的跳转到豆瓣搜索页面、跳转到下载地址。查看评分、评论、演员信息等// @author       MDKML// @icon         http://mdkml.cn/img/favicon.ico// @grant        none// ==/UserScript==(function () {'use strict';var div = document.createElement('div')div.id = 'search-app-box'div.style = "position: fixed; top: 120px; left: 20px; font-size: 12px;background-color: #fff;border-radius: 10px;z-index: 9999999999999999;"document.body.insertAdjacentElement("afterBegin", div);var h = document.getElementsByTagName("H1")if (!h || !h[0]) {return;}var name = h[0].innerText;if (name.includes("《")) {name = name.split("《")[1]}if (name.includes("》")) {name = name.split("》")[0]}if (name.includes("/")) {name = name.split("/")[0]}let dbss = document.createElement('a')dbss.innerText = "豆瓣搜索"var style = "display: block;padding:10px;font-size: 18px; font-weight: bold;color:#072;cursor:pointer;border-radius: 25px;text-decoration:none;"dbss.style = style// 鼠标移入移除效果,相当于hoverdbss.onmouseenter = function () {this.style = style + "color: #ffffff; background-color: #0084ff;box-shadow:0 0 0 10000px rgba(0,0,0,0.3);";}dbss.onmouseleave = function () {this.style = style + "color: #072;";}dbss.onclick = function () {window.open("https://search.douban.com/movie/subject_search?search_text=" + encodeURI(name));}let xzdz = document.createElement('a')xzdz.innerText = "下载地址"xzdz.style = style// 鼠标移入移除效果,相当于hoverxzdz.onmouseenter = function () {this.style = style + "color: #ffffff; background-color: #0084ff;box-shadow:0 0 0 10000px rgba(0,0,0,0.3);";}xzdz.onmouseleave = function () {this.style = style + "color: #072;";}xzdz.onclick = function () {var targetOffset = nullvar currentURL = window.location.href;if (currentURL.includes('6v520')) {targetOffset = getEleOffsetTopByText('span', '下载地址');}if (currentURL.includes('meijutt')) {targetOffset = document.getElementsByClassName("o_list_cn_r")[0].offsetTop;}if (currentURL.includes('dydytt') || currentURL.includes('dytt8') || currentURL.includes('ygdy8')) {targetOffset = getEleOffsetTopByText('font', '温馨提示');}if (targetOffset) {targetOffset -= 200;smoothScrollTo(targetOffset, 500);}}div.appendChild(dbss)div.appendChild(xzdz)h[0].appendChild(div);// Your code here...})();/*** 通过元素内容获取顶部偏移像素* @param 元素标签* @param 元素内容* @return 顶部偏移像素* @author mdkml* @date  2024/9/28 20:17*/function getEleOffsetTopByText(ele, text) {// 获取所有的span元素var spans = document.querySelectorAll(ele);// 遍历所有span元素for (var i = 0; i < spans.length; i++) {// 检查span元素的文本内容是否包含指定的文本if (spans[i].textContent.includes(text)) {// 如果包含,返回该元素的offsetTop值return spans[i].offsetTop;// 注意:如果页面中有多个span包含相同的文本,这里只会返回第一个找到的元素的offsetTop。// 如果需要处理所有匹配的元素,可以在这里稍作修改。}}// 如果没有找到匹配的span元素,返回null或者一个默认值return -1;}/*** 通过元素内容获取顶部偏移像素* @param 元素内容* @return 顶部偏移像素* @author mdkml* @date  2024/9/28 20:03*/function getSpanOffsetTopByText(text) {// 获取所有的span元素var spans = document.querySelectorAll('span');// 遍历所有span元素for (var i = 0; i < spans.length; i++) {// 检查span元素的文本内容是否包含指定的文本if (spans[i].textContent.includes(text)) {// 如果包含,返回该元素的offsetTop值return spans[i].offsetTop;// 注意:如果页面中有多个span包含相同的文本,这里只会返回第一个找到的元素的offsetTop。// 如果需要处理所有匹配的元素,可以在这里稍作修改。}}// 如果没有找到匹配的span元素,返回null或者一个默认值return -1;}/*** 缓慢滚动页面* @param 滚动结束位置* @param 滚动时间* @author mdkml* @date  2024/9/28 20:02*/function smoothScrollTo(targetOffset, duration) {const startTime = 'now' in window.performance ? performance.now() : new Date().getTime();const element = window; // 滚动的是整个窗口// 滚动函数function scroll() {const time = 'now' in window.performance ? performance.now() : new Date().getTime();const timeElapsed = time - startTime;// 计算当前应该滚动的位置const run = easeInOutQuad(timeElapsed, 0, targetOffset, duration);element.scrollTo(0, Math.round(run));// 如果滚动未完成,则继续请求动画帧if (timeElapsed < duration) requestAnimationFrame(scroll);}// 缓动函数,这里使用二次方缓入缓出(easeInOutQuad)function easeInOutQuad(t, b, c, d) {t /= d / 2;if (t < 1) return c / 2 * t * t + b;t--;return -c / 2 * (t * (t - 2) - 1) + b;}// 开始滚动scroll();}