// ==UserScript== // @name 豆瓣小组话题快速预览-douban group topic fast preview // @namespace https://openuserjs.org/scripts/dragoncat // @version 0.1 // @license MIT // @description 可以在豆瓣小组列表页面快速预览帖子内容,无须再打开新窗口 // @author 铛铛铛铛铛/https://www.douban.com/people/48915223 // @copyright 1991-2018,铛铛铛铛铛-Dragoncat // @match https://www.douban.com/group/* // @exclude https://www.douban.com/group/topic/* // @grant none // @downloadURL none // ==/UserScript== (function () { 'use strict'; const style = document.createElement("style") style.type = "text/css" style.innerHTML = ` #wrapper{ margin:0; width: 100%; box-sizing: border-box; } table.olt tr:not(.th):hover,table.olt tr:not(.th).active{ cursor: pointer; background: #f2f8f2; } .grid-16-8 .article{ padding-right: 10px; } #iframe-wrapper{ width: -webkit-fill-available; height: -webkit-fill-available; margin:0 305px 0 686px; top:0; } #priview{ width: -webkit-fill-available; height: -webkit-fill-available; background: #fefefe; border: none; box-shadow: 0 0 2px #00000038; } ` document.head.appendChild(style) const grid = document.querySelector('.grid-16-8') const iframe = document.createElement("iframe") const iframeWrapper = document.createElement("div") const trs = document.querySelectorAll('table.olt tr:not(.th)') let prevTr iframeWrapper.id = "iframe-wrapper" iframe.srcdoc = '

/*话题快速预览 © 铛铛铛铛铛*/

Tips:
因为豆瓣的原因,在预览里发表回应不会刷新页面,但实际是发表成功的

' iframe.id = "priview" iframeWrapper.appendChild(iframe) grid.insertBefore(iframeWrapper, document.querySelector('.extra')) trs.forEach(tr => { tr.onclick = tr.onmouseenter = function () { if (prevTr) prevTr.classList.remove('active') prevTr = tr tr.classList.add('active') iframe.removeAttribute('srcdoc') iframe.src = tr.querySelector('a').href } }) window.addEventListener("scroll", function () { changepos() }) changepos() function changepos() { if (document.documentElement.scrollTop > document.querySelector(".article").offsetTop) { iframeWrapper.style.position = "fixed" } else { iframeWrapper.style.position = "relative" } } })();