您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
百度搜索链接预览,鼠标移动到则显示,由于安全问题,有些网站不允许被iframe包含,所以有些网站显示不了。
// ==UserScript== // @name 百度搜索链接预览及隐藏广告 // @namespace https://www.yiuios.com // @version 0.21 // @description 百度搜索链接预览,鼠标移动到则显示,由于安全问题,有些网站不允许被iframe包含,所以有些网站显示不了。 // @author Sam // @match *://www.baidu.com/s* // @match https://www.baidu.com/* // @icon data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw== // @grant none // @run-at document-end // @license MIT // ==/UserScript== function on(selector,ev,fn){ document.querySelector('body').addEventListener(ev,function(e){ let list = this.querySelectorAll(selector); for(let item of list){ if(item.isSameNode(e.target)){ fn.call(item,e); } } }) } function setCss(obj,attrs){ for(let key in attrs){ obj.style[key] = attrs[key]; } } let box = null; let currentSrc = null; const getBox = function(){ let box = document.querySelector('#floatbox'); if(box){ return box; } box = document.createElement('div'); box.setAttribute('id','floatbox'); box.setAttribute('style','position:absolute;pointer-events:none;background-color:#FFF;height:300px;box-shadow:0 0 32px rgba(0,0,0,0.2);z-index:9999;border-radius:10px;overflow:hidden;'); document.body.appendChild(box); box.innerHTML = '<iframe frameborder="0" style="width:400%;transform:scale(0.25);height:400%;transform-origin: top left;" security="restricted" sandbox="allow-scripts allow-same-origin allow-popups"></iframe>'; return box; }; //广告块透明度设置 function hideAds(){ document.querySelectorAll('[posid]').forEach(item=>{ if(item.classList.contains('ishidden')){ return; } let bc = item.getBoundingClientRect(); setCss(item,{ position:'relative', maxHeight:'100px', overflow:'hidden', borderRadius:'10px', }); let adTip = document.createElement('div'); adTip.innerHTML = '<div style="text-align:center;">百度广告 <p style="font-size:14px;margin-top:10px;">已为您隐藏,鼠标移到这里可显示。</p></div>'; adTip.setAttribute('style','border-radius:inherit;box-sizing:border-box;border:1px solid #EEE;background-color:rgba(255,255,255,0.8);backdrop-filter:blur(5px);width:100%;height:100%;display:flex;align-items:center;justify-content:center;position:absolute;left:0;top:0;color:#666;font-size:20px;'); item.appendChild(adTip); item.classList.add('ishidden'); item.addEventListener('mouseover',function(){ adTip.style.display = 'none'; setCss(this,{ transition:'all 0.5s', maxHeight:bc.height+'px', }); }); item.addEventListener('mouseleave',function(){ adTip.style.display = 'flex'; setCss(this,{ transition:'all 0.5s', maxHeight:'100px', }); }); }) } function watchAds(){ let adTimer = setInterval(function(){ if(document.querySelectorAll('[posid]:not(.ishidden)').length > 0){ hideAds(); console.log('已隐藏广告'); clearInterval(adTimer); } },50); } let hvTimer = null; (function() { 'use strict'; console.log(`%c你成功加载百度控制器`,'font-size:large;font-weight: bold;color:#FFF;background-color:red;padding:5px;') watchAds(); setInterval(watchAds,500); let meta = document.createElement('meta'); meta.setAttribute('http-equiv','Content-Security-Policy'); meta.setAttribute('content','upgrade-insecure-requests'); document.querySelector('head').appendChild(meta); on('a','mouseover',function(){ clearTimeout(hvTimer); hvTimer = setTimeout(()=>{ let bc = this.getBoundingClientRect(); let scrollTop = document.documentElement.scrollTop; let scrollLeft = document.documentElement.scrollLeft; getBox().querySelector('iframe').src = ''; setTimeout(()=>{ getBox().querySelector('iframe').src = this.getAttribute('href').replace('http://','https://'); },50); setCss(getBox(),{ display:'block', left:scrollLeft+bc.left+bc.width+'px', top:scrollTop+bc.top+bc.height+'px', }); },200); }); on('a','mouseout',function(){ clearTimeout(hvTimer); }); document.body.addEventListener('mousedown',function(){ getBox().style.display = 'none'; }) })();