// ==UserScript== // @name 游戏社区(TapTap)列表页贴子预览 // @namespace 游戏社区列表页贴子预览 // @version 1.2.2 // @description TapTap游戏社区列表页贴子(除图片和视频贴)卡片新增预览按钮,可在列表页直接预览贴子内容。 // @author QIAN // @match *://www.taptap.com/app* // @match *://www.taptap.com/forum/hot // @grant none // @require https://cdn.bootcss.com/jquery/3.3.1/jquery.min.js // @downloadURL none // ==/UserScript== $(function() { //获取浏览器页面链接 var location = window.location.href; location = location.toLowerCase(); //如果为TapTap域名 if (location.indexOf("taptap") != -1) { //创建预览和取消预览按钮 var pvBtn = "
  • 预览
  • "; //创建预览贴子样式 var pvBtnCss = '' //var pvCss = ''; var pvCssCustom = ''; var pvCssOfficial = ''; var pvCssVideo = ''; var pvCssMoment = ''; //在除图片和视频贴以外的贴子卡片上追加预览和取消预览按钮以及按钮样式 $(".app-body").prepend(pvBtnCss); $(".topic-item[data-filter-id*='moment'] .right-menu-from").prepend(pvBtn); //遍历每个贴子 $(".topic-item[data-filter-id*='moment']").each(function() { //获取贴子链接 //var postLink = $(this).find(".topic-share").attr("data-share-url"); var postLink = $(this).find(".taptap-btn-link").attr("href"); //创建预览贴子容器 var pvBoxWrapper = `
    ` var pvBox = `
    `; //为预览按钮添加点击事件 $(this).find(".pvBtn").click(function(even) { event.stopPropagation(); $("body").append(pvBoxWrapper); $("body").find(".pvBoxWrapper").append( pvBox); //创建进入贴子及取消预览按钮 var btnList = ``; $("body .pvBoxWrapper").prepend(btnList); //区分普通贴和视频贴内容 if (`${postLink}`.indexOf("topic") != -1) { $("body .pvBoxWrapper .pvBox").load( `${postLink} .topic-main__content`); $("body .pvBoxWrapper").prepend(pvCssCustom); $("body .pvBoxWrapper").prepend(pvCssOfficial); } else if (`${postLink}`.indexOf("video") != -1) { $("body .pvBoxWrapper .pvBox").load( `${postLink} .video-page__main-content`); $("body .pvBoxWrapper").prepend(pvCssCustom); $("body .pvBoxWrapper").prepend(pvCssVideo); } else if (`${postLink}`.indexOf("moment") != -1) { $("body .pvBoxWrapper .pvBox").load( `${postLink} .moment-main`); $("body .pvBoxWrapper").prepend(pvCssCustom); $("body .pvBoxWrapper").prepend(pvCssMoment); } //为取消预览按钮添加点击事件 $("body .pvBoxWrapper .pvBtnClose").click(function() { //移除贴子的预览内容及样式文件 $("body .pvBoxWrapper").remove(); }); }); }); //点击遮罩层关闭预览 $(document).mouseup(function (e) { var con = $(".pvBox"); // 设置目标区域 if (!con.is(e.target) && con.has(e.target).length === 0) { $("body .pvBoxWrapper").remove(); } }); //其他域名待补充 } else if (location.indexOf("aiideai") != -1) {}; });