阅读:10426回复:49
编辑下,用tampermonkey修改网站favicon图标 如何在ff和safari中都实现,有mac的帮帮忙
感谢 逗妇乳的帮忙,解决了众多问题.
我是mac上的firefox和safari都使用的,都安装了tampermonkey 现在存在一个问题,修改网站favicon图标的代码在ff中好用,safari中不行, 谁使用safari浏览器的帮忙看看是什么原因,帮忙修改下代码,谢谢 // ==UserScript== // @name New Userscript // @namespace http://tampermonkey.net/ // @version 0.1 // @description try to take over the world! // @author You // @match https://www.jhssd.com/* // @grant none /* globals jQuery, $, waitForKeyElements */ // ==/UserScript== (function() { 'use strict'; $(`<div> <script type="text/javascript"> var changeIcon = function(){ var link = document.createElement("link"); link.href = "https://www.163.com/favicon.ico"; link.rel = "shortcut icon"; document.head.appendChild(link); }; setTimeout(changeIcon, 1); </script> </div>`).appendTo('body'); })();------------------------ 下面的 逗妇乳 都帮我解决了~~~ 以前问过lonely_8很多修改页面的问题,本来想在那个帖子继续问的,又怕说挖坟,所以单开一贴请问这个小说网站https://www.zjzfcj.com/book/59960/4410964.html ------------------------ |第一章 xxxxxxxx| |----------------------| |正文xxxxxxxxxxx| ------------------------ 正文章节内容外层的浅蓝色边框怎么设置为0px 让它不显示,我测试如下,都没有效果 tampermonkey里面 // ==UserScript== // @name test // @version 0.1 // @description special thanks to lonely_8 // @author fanta // @match https://www.zjzfcj.com/* // @grant none /* globals jQuery, $, waitForKeyElements */ // ==/UserScript== (function() { 'use strict'; $('<style>').text(` .layout, .layout-col1, .content, .reader-main, #container { border: 0px; } `).appendTo('head'); })(); 还有一个问题: 再帮我看看这个网页 https://www.aixiaxsw.com/13/13063/8744577.html 章节内容最下方有一行代码(br)<center class="contnew">最新网址:www.aixiaxsw.com</center>(br) 这个可以用去广告类规则 aixiaxsw.com##.contnew 屏蔽掉,但是屏蔽以后会有br空行, 请问如何用css或者js 直接去掉这行代码 或者 去掉广告规则留下的br空行 |
|
1楼#
发布于:2022-11-02 22:07
编辑掉 我抄了下 搜狗输入法网站代码 凑合搞定 不耽误您了 哈哈老麻烦也是不好
|
|
2楼#
发布于:2022-10-28 08:34
编辑掉 我抄了下 搜狗输入法网站代码 凑合搞定 不耽误您了 哈哈老麻烦也是不好
|
|
3楼#
发布于:2022-10-22 22:49
|
|
4楼#
发布于:2022-10-22 16:17
是我蠢,编辑掉这个
|
|
5楼#
发布于:2022-10-22 16:03
|
|
6楼#
发布于:2022-10-22 12:37
// ==UserScript== // @name Novels Reading Helper // @author Ryan // @version 1.0 // @encoding utf-8 // @license https://creativecommons.org/licenses/by-sa/4.0/ // @icon https://gcore.jsdelivr.net/gh/benzBrake/FirefoxCustomize@master/images/FireDoge.ico // @homepage https://github.com/benzBrake/FirefoxCustomize/tree/master/UserScript // @match https://www.jhssd.com/*/*.html // @match https://www.bidige.com/book/*/*.html // @grant GM_addStyle // ==/UserScript== "use strict"; (function () { const { document, location, console, customElements } = window; const Rules = { "www.bidige.com": { "style": `#wrapper > :not(#content_read) { display: none; }`, "contentSel": "#content" // 内容选择器 } } // 插入公共样式 GM_addStyle(` .flex { display: flex; } .j-center { justify-content: center; } .nrh-toolbar { position: fixed; z-index: 999; width: 100%; height: var(--toolbar-height, 32px); top: calc(0px - var(--toolbar-height, 32px)); transition: top .5s ease-in-out; box-shadow: 0px 0px 8px -5px hsla(240, 4%, 0%, 0.5), 0px 0px 15px 0px hsla(0, 0%, 0%, 0.2) !important; } .nrh-toolbar.sticky { top: 0; } .nrh-container { width: 100%; height: var(--toolbar-height, 32px); background-color: var(--toolbar-background, #fff); } .nrh-button { padding: 4px; width: 24px; height: 24px; display: flex; justify-content: center; align-items: center; cursor: pointer; font-size: 16px; user-select:none; } .nrh-button:hover { background-color: var(--toolbar-background-hover, #B5B9C8); } .nrh-zoom-level { height: 24px; padding: 4px; outline: none; width: 32px; cursor: default; text-align: center; } .input-error{ outline: 1px solid red; } `); window.NrhToolBar = { init(domain) { let _config = Rules[domain] || {}; this.config = Object.assign({ toolbarInsertPoint: "body", contentSel: "body" }, _config); // 插入专用样式 if (this.config.style) GM_addStyle(this.config.style); let insertPoint = document.querySelector(this.config.toolbarInsertPoint); if (insertPoint && !this.inited) { this.inited = true; this.toolbar = insertPoint.appendChild( $C("div", { class: "nrh-toolbar sticky", style: "--toolbar-height: 32px" }) ); this.container = this.toolbar?.appendChild($C("div", { class: "nrh-container flex j-center" })); this.initZoom(); this.lastScrollTop = window.pageYOffset || document.documentElement.scrollTop; window.addEventListener("scroll", this); } else { console.error("Cannot find a insert point: " + sel || "html"); } }, initZoom() { this.contentEl = document.querySelector(this.config.contentSel); if (!this.contentEl) return; this.zoomLevel = parseInt(localStorage.getItem("zoomLevel") || getComputedStyle(this.contentEl).getPropertyValue("font-size")); // 读取默认字号 this.zoomContainer = $C("div", { class: "nrh-zoom flex j-center", }); this.container.appendChild(this.zoomContainer); let zoomOut = $C('span', { class: "nrh-zoom-out nrh-button", zoom: "-", content: "-" }); zoomOut.addEventListener('click', this); let zoomOut5 = $C('span', { class: "nrh-zoom-out nrh-button", zoom: "-", content: "--", step: 5 }); zoomOut5.addEventListener('click', this); this.zoomContainer.appendChild(zoomOut5); this.zoomContainer.appendChild(zoomOut); let zoomInput = $C('input', { class: "nrh-zoom-level", value: this.zoomLevel, readonly: "readonly" }); this.zoomContainer.appendChild(zoomInput); let zoomIn = $C('span', { class: "nrh-zoom-in nrh-button", zoom: "+", content: "+" }); zoomIn.addEventListener('click', this); let zoomIn5 = $C('span', { class: "nrh-zoom-in nrh-button", zoom: "+", content: "++", step: 5, style: "letter-spacing: -3px;" }); zoomIn5.addEventListener('click', this); this.zoomContainer.appendChild(zoomIn); this.zoomContainer.appendChild(zoomIn5); var that = this; setTimeout(function () { that.setZoomLevel(that.zoomLevel); }, 300); }, getZoomLevel() { return this.zoomLevel; }, setZoomLevel(level) { if (level < 1) level = 1; this.zoomLevel = level; this.contentEl.style.setProperty("font-size", level + "px"); this.zoomContainer.querySelector("input").value = level; localStorage.setItem("zoomLevel", level); // 存储字号 }, handleEvent(event) { let { target } = event; switch (event.type) { case "scroll": var st = window.pageYOffset || document.documentElement.scrollTop; // Credits: "https://github.com/qeremy/so/blob/master/so.dom.js#L426" if (st > this.lastScrollTop + 50) { // 向下滚动 this.toolbar?.classList.remove("sticky"); } else { // 向上滚动 this.toolbar?.classList.add("sticky"); } var t; clearTimeout(t); t = setTimeout(() => { var t = this.lastScrollTop = st <= 0 ? 0 : st; // For Mobile or negative scrolling }, 200); break; case "click": event.preventDefault(); event.stopPropagation(); if (target.hasAttribute("zoom")) { let step = parseInt(target.getAttribute("step") || "1"); switch (target.getAttribute("zoom")) { case "-": this.setZoomLevel(this.getZoomLevel() - step); break; case "+": this.setZoomLevel(this.getZoomLevel() + step); break; case "custom": this.zoomContainer.classList.add("custom"); break; } } break; } } } window.NrhToolBar.init(location.host); function $C(tag, attrs, skipAttrs) { let el = document.createElement(tag); attrs = attrs || {}; // check skipAttrs if is array if (!skipAttrs || skipAttrs.constructor !== Array) { skipAttrs = []; } skipAttrs.push("content"); for (let p in attrs) { if (skipAttrs.indexOf(p) === -1) { el.setAttribute(p, attrs[p]); } } if (attrs.content) el.innerHTML = attrs.content; return el; } })(); |
|
7楼#
发布于:2022-10-20 12:11
逗妇乳:本来就有文本字号设置,不够用吗?回到原帖 我竟然搞定了!!!!!!!!!!!!!!!https://www.runoob.com/js/js-cookies.html 看了一个cookie教程的序章...就像C语言的helloworld一样..复制黏贴后,.就有效果了,就是排错弄了我好长时间啊,放的位置不对,总出问题,我都准备好发帖问,我到底错在哪里了, 真的不容易啊 :) |
|
8楼#
发布于:2022-10-20 11:15
|
|
9楼#
发布于:2022-10-20 03:47
逗妇乳:我也不会,没研究过写油猴,这类可以使用“东方永页机” 翻页拼接我百度到答案了, 就是把链接由原来的xxx 变成xxx?上一页的20个汉字 发送即可 英文直接发 中文需要编码, 然后window.location.search取到发送的汉字 解码即可 这也算基础知识,看了好几个帖子才明白原理, 然后折腾了我好长时间才解决了1处卡死我的难题 if (window.location.search) { newcontent.innerText = decodeURI(window.location.search).replace(/^\?/, '').replace(/.*\n/, "").replace(/^\s*/, "") + newcontent.innerText; } if ($("#nexturl").text() == "下一页") { var send = encodeURI("?" + newcontent.innerText.substr(-20,20)); anext.href = anext.href + send;// 更新链接 next_page = next_page + send;// 更新链接 next_page是原网页里面的变量 键盘← →翻页用 }您还是帮我写一下,我开始问的 正文 缩放吧~~~ |
|
10楼#
发布于:2022-10-19 23:26
【求助】addMenuPlus.uc.js 新增全页面截图菜单无法在 GitHub 截图
fanta:我去 我不会这么弄... :not,我孤陋寡闻,不知道这个用法我也不会,没研究过写油猴,这类可以使用“东方永页机” 翻页拼接 然后监控一下内容变更,有变更就替换一下 document.querySelector("#nr").addEventListener("DOMNodeInserted", function (){ // 这里调用替换函数 }) |
|
11楼#
发布于:2022-10-19 21:49
逗妇乳:第二个问题不是很懂你处理这么多,隐藏非主阅读区以外不就行了嘛我去 我不会这么弄... :not,我孤陋寡闻,不知道这个用法 我这不出蠢笨绝招了吗... 不过这么弄对我有个好处, 其他网站 我也可以这么干 例如另一个小说网站jhssd.com我基本修改这个 let newcontent = document.querySelector("#content"); 为#nr_content就可以了 其他即使不是小说站点,也行 还有个问题,现在这个强悍的拥有反盗x版的网站把每一章分成多页了 强制分割 断句看的我很难受 如何 把上一页的最后20个字 放到新页面的最上方显示 ,这个涉及到传递参数,我又不会了... https://www.jhssd.com/2920/28153763.html例如这个 底下显示的是 上一章 下一页 以前都是 上一章 下一章 |
|
12楼#
发布于:2022-10-19 21:15
fanta:好奇宝宝我又出现了... 带来2个新的问题~第二个问题不是很懂你处理这么多,隐藏非主阅读区以外不就行了嘛 #wrapper > :not(#content_read) { display: none; }我看小说的网站基本是这么处理 |
|
13楼#
发布于:2022-10-19 20:55
fanta:好奇宝宝我又出现了... 带来2个新的问题~先回你第一个问题,找图片这个需要一点经验,首先动图第一想到的是gif,直接打开 F12 网络里搜 gif ,没几个图片就找到 有时候如果找不到图片可能是 js 绘制的,试试禁用 js ,如果禁用 js 不见了,那可坑就是 js 绘制的 当然我也遇到过 css + 普通图片实现的,一般就在 html body 这几层占满网页的 标签里, 最多可能在 :before :after 伪元素里 第二个问题晚点,要是没时间就得明天了 |
|
14楼#
发布于:2022-10-19 16:45
逗妇乳:eslint 检查器要求 if 语句 用 { },用偷懒语法就会提醒回到原帖 好奇宝宝我又出现了... 带来2个新的问题~ 1 csdn.net这个网站很多页面例如这个页面https://blog.csdn.net/HYHhmbb/article/details/127049968 都有一个repeat的背景 造成大量cpu占用,我百度找到了办法 https://bbs.csdn.net/topics/394886758?list=75340974 就是屏蔽css或者这个bg.gif 请问 如何找到 这个图片的地址https://csdnimg.cn/release/blogv2/dist/pc/themesSkin/skin-whitemove/images/bg.gif 我也知道是这个图片造成的,自己瞎找了半天,但是是真找不到,还好我是百度小能手.您找的话会如何找到它,我很想学习下 还有 有没有什么办法知道一个网页是哪个js或者图片之类的大量占用资源,这样就可以用adguard adplus之类的屏蔽了 2 在您的大力帮助下,我现在基本掌握改写95%的小说网站了,绝大部分问题都已解决或者曲线搞定. 而且最终我发现很多元素无需绞尽脑汁想招屏蔽,直接全部去掉重写最方便快捷. 然后我就重新弄,发现以前很多做法简直就是浪费感情,虽然学到了一些东西.例如控制台的简单使用,css js部分最基础知识... 以这个网址https://www.bidige.com/book/40402/727233.html为例 ,我改写后代码如下, // ==UserScript== // @name test // @version 4.0 // @description special thanks to doufuru // @author copy & paste // @match https://www.bidige.com/book/40402/*.html // @grant none // @require https://code.jquery.com/jquery-3.6.1.min.js // ==/UserScript== /* globals jQuery, $, waitForKeyElements */ (function() { 'use strict'; document.head.innerHTML = ` <style> body { position: absolute; top: 0; right: 9px; width: 980px; padding: 0; margin: 0; font: 30px/1.5 "微软雅黑"; color: blue; letter-spacing: 0.2em; text-indent: 0; box-sizing: content-box; -webkit-font-smoothing: subpixel-antialiased; background: black; } a { color: pink; text-decoration: none; } #newweb { } .newtop { margin: 8px 0 -17px; font: 30px/1.5 "隶变-简"; color: orange; letter-spacing: 1px; text-indent: 8px; text-align: left; } .newhr { font: 30px/1.5 "隶变-简"; color: darkolivegreen; letter-spacing: 0.2em; text-indent: 0; text-align: center; } .newhr a { color: darkkhaki; } .newcontent { margin: 3px 0; font: 30px/1.5 "微软雅黑"; color: white; letter-spacing: 0.2em; text-indent: 2.2em; text-align: left; } </style>`; let aprev, alist, anext; aprev = document.querySelector(".bottem2 > a:nth-child(1)"); alist = document.querySelector(".bottem2 > a:nth-child(2)"); anext = document.querySelector(".bottem2 > a:nth-child(3)"); addEventListener('keyup', (e) => { if(e.keyCode == 37){ aprev && aprev.click(); } else if(e.keyCode == 39){ anext && anext.click(); } else if(e.keyCode == 13){ alist && alist.click(); } }) let newcontent = document.querySelector("#content"); document.body.innerHTML = ` <div id = "newweb"> <div class = "newtop"> test </div> <div class = "newhr"> ~~~~~~~~~~~~~~~~~~~ <a href=${aprev}>『· </a><a href=${alist}>目录</a><a href=${anext}> ·』</a> ~~~~~~~ </div> <div class = "newcontent"> ${newcontent.innerHTML} </div> </div>`; })();很多东西去掉了,存在2个问题,1是键盘左右方向键翻页失灵了,所以里面加入了原先别人教我的代码 addEventListener('keyup', (e) => { if(e.keyCode == 37){ aprev && aprev.click(); ...再就是 我不能实时缩放网页字体了,原网站的办法似乎也不好.所以还是 请您帮我在网页的最上方 加入一个 文章正文字体 放大缩小的部分,就像这样 - [30号] + 点击-或+字体缩放,中间显示字体大小 ,同时响应键盘-键和=键缩放字体 是不是用那个 addEventListener('keyup', (e) => 下面加入新的代码就行,还是应该用更好更合理的办法 ------------------------ 还有一个不是问题的问题,原先这行 aprev = document.querySelector(".bottem2 > a:nth-child(1)"); 我是写成 aprev = document.querySelector(".bottem2 > a:nth-child(1)").href;这样取得地址的,下方的链接 <a href=${aprev}>『· </a><a href=${alist}>目录</a><a href=${anext}> ·』</a> 就正常 后来我为了响应键盘左右方向键,把后面的.href去掉了,结果下方的链接 <a href=${aprev}>『· </a><a href=${alist}>目录</a><a href=${anext}> ·』</a> 还正常 这是为什么呢...为什么不需要改动呢..应不应该改下呢 |
|
上一页
下一页