fanta
火狐狸
火狐狸
  • UID30401
  • 注册日期2009-09-17
  • 最后登录2024-05-05
  • 发帖数236
  • 经验164枚
  • 威望0点
  • 贡献值114点
  • 好评度5点
  • 社区居民
  • 忠实会员
阅读:6550回复:49

编辑下,用tampermonkey修改网站favicon图标 如何在ff和safari中都实现,有mac的帮帮忙

楼主#
更多 发布于:2022-09-19 19:51
感谢 逗妇乳的帮忙,解决了众多问题.
我是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空行
fanta
火狐狸
火狐狸
  • UID30401
  • 注册日期2009-09-17
  • 最后登录2024-05-05
  • 发帖数236
  • 经验164枚
  • 威望0点
  • 贡献值114点
  • 好评度5点
  • 社区居民
  • 忠实会员
1楼#
发布于:2022-11-02 22:07
编辑掉 我抄了下 搜狗输入法网站代码 凑合搞定 不耽误您了 哈哈老麻烦也是不好
fanta
火狐狸
火狐狸
  • UID30401
  • 注册日期2009-09-17
  • 最后登录2024-05-05
  • 发帖数236
  • 经验164枚
  • 威望0点
  • 贡献值114点
  • 好评度5点
  • 社区居民
  • 忠实会员
2楼#
发布于:2022-10-28 08:34
编辑掉 我抄了下 搜狗输入法网站代码 凑合搞定 不耽误您了 哈哈老麻烦也是不好
fanta
火狐狸
火狐狸
  • UID30401
  • 注册日期2009-09-17
  • 最后登录2024-05-05
  • 发帖数236
  • 经验164枚
  • 威望0点
  • 贡献值114点
  • 好评度5点
  • 社区居民
  • 忠实会员
3楼#
发布于:2022-10-22 16:17
是我蠢,编辑掉这个
fanta
火狐狸
火狐狸
  • UID30401
  • 注册日期2009-09-17
  • 最后登录2024-05-05
  • 发帖数236
  • 经验164枚
  • 威望0点
  • 贡献值114点
  • 好评度5点
  • 社区居民
  • 忠实会员
4楼#
发布于:2022-10-22 16:03
逗妇乳:// ==UserScript==
// @name Novels Reading Helper
// @author Ryan
// @version 1.0
// @encoding utf-8
// @license htt...
回到原帖
感谢周末写代码, 这个高大上啊,还可以自动隐藏,代码好多都没看懂, 比我那个好多了,我先百度...学习学习
先说下,简单测试结果,safari浏览器 完美, 可以缩放,翻页后记忆正常,自动隐藏
  firefox浏览器, 都不会自动隐藏 可能是我ff有问题,  毕竟safari都ok  我的ff版本是102.4esr 还是挺新的
fanta
火狐狸
火狐狸
  • UID30401
  • 注册日期2009-09-17
  • 最后登录2024-05-05
  • 发帖数236
  • 经验164枚
  • 威望0点
  • 贡献值114点
  • 好评度5点
  • 社区居民
  • 忠实会员
5楼#
发布于:2022-10-20 12:11
逗妇乳:本来就有文本字号设置,不够用吗?回到原帖



我竟然搞定了!!!!!!!!!!!!!!!https://www.runoob.com/js/js-cookies.html

看了一个cookie教程的序章...就像C语言的helloworld一样..复制黏贴后,.就有效果了,就是排错弄了我好长时间啊,放的位置不对,总出问题,我都准备好发帖问,我到底错在哪里了, 真的不容易啊 :)
fanta
火狐狸
火狐狸
  • UID30401
  • 注册日期2009-09-17
  • 最后登录2024-05-05
  • 发帖数236
  • 经验164枚
  • 威望0点
  • 贡献值114点
  • 好评度5点
  • 社区居民
  • 忠实会员
6楼#
发布于:2022-10-20 03:47
逗妇乳:我也不会,没研究过写油猴,这类可以使用“东方永页机” 翻页拼接
然后监控一下内容变更,有变更就替换一下
document.querySelector("#nr").addEventListener("DOMNodeInserted", ...
回到原帖
我百度到答案了,
就是把链接由原来的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是原网页里面的变量 键盘← →翻页用
}
您还是帮我写一下,我开始问的 正文 缩放吧~~~
fanta
火狐狸
火狐狸
  • UID30401
  • 注册日期2009-09-17
  • 最后登录2024-05-05
  • 发帖数236
  • 经验164枚
  • 威望0点
  • 贡献值114点
  • 好评度5点
  • 社区居民
  • 忠实会员
7楼#
发布于:2022-10-19 21:49
逗妇乳:第二个问题不是很懂你处理这么多,隐藏非主阅读区以外不就行了嘛
#wrapper &gt; :not(#content_read) {
  display: none;
}我看小说的网站基本是这么处理
回到原帖
我去 我不会这么弄...  :not,我孤陋寡闻,不知道这个用法
我这不出蠢笨绝招了吗... 不过这么弄对我有个好处, 其他网站 我也可以这么干

例如另一个小说网站jhssd.com我基本修改这个 let newcontent = document.querySelector("#content"); 为#nr_content就可以了
其他即使不是小说站点,也行

还有个问题,现在这个强悍的拥有反盗x版的网站把每一章分成多页了  强制分割 断句看的我很难受
如何 把上一页的最后20个字 放到新页面的最上方显示 ,这个涉及到传递参数,我又不会了...
https://www.jhssd.com/2920/28153763.html例如这个 底下显示的是 上一章 下一页  以前都是 上一章 下一章
fanta
火狐狸
火狐狸
  • UID30401
  • 注册日期2009-09-17
  • 最后登录2024-05-05
  • 发帖数236
  • 经验164枚
  • 威望0点
  • 贡献值114点
  • 好评度5点
  • 社区居民
  • 忠实会员
8楼#
发布于: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 = `
    &lt;style&gt;
      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;
      }
    &lt;/style&gt;`;
     
     
    let aprev, alist, anext;
      aprev = document.querySelector(".bottem2 &gt; a:nth-child(1)");
      alist = document.querySelector(".bottem2 &gt; a:nth-child(2)");
      anext = document.querySelector(".bottem2 &gt; a:nth-child(3)");
      addEventListener('keyup', (e) =&gt; {
        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 = `
    &lt;div id = "newweb"&gt;
      &lt;div class = "newtop"&gt;
        test
      &lt;/div&gt;
        &lt;div class = "newhr"&gt;
           ~~~~~~~~~~~~~~~~~~~
           &lt;a href=${aprev}&gt;『· &lt;/a&gt;&lt;a href=${alist}&gt;目录&lt;/a&gt;&lt;a href=${anext}&gt; ·』&lt;/a&gt;
           ~~~~~~~
        &lt;/div&gt;
      &lt;div class = "newcontent"&gt;
        ${newcontent.innerHTML}
      &lt;/div&gt;
    &lt;/div&gt;`;
     
})();
很多东西去掉了,存在2个问题,1是键盘左右方向键翻页失灵了,所以里面加入了原先别人教我的代码
addEventListener('keyup', (e) =&gt; {
        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> 还正常
这是为什么呢...为什么不需要改动呢..应不应该改下呢
fanta
火狐狸
火狐狸
  • UID30401
  • 注册日期2009-09-17
  • 最后登录2024-05-05
  • 发帖数236
  • 经验164枚
  • 威望0点
  • 贡献值114点
  • 好评度5点
  • 社区居民
  • 忠实会员
9楼#
发布于:2022-10-16 16:47
逗妇乳:let nr_content = document.querySelector(".nr_content");
if (nr_content)
    [...nr_content.querySelectorAll('span')].m...
回到原帖
我只想说太tmd强了~~~~~~~ 非常感谢!!!! 阿里嘎多~够咋衣麻斯
有个小问题,    [...nr_content.querySelectorAll('span[class^="_"]')].map(e => {这行前面出现黄底叹号 eslint: curly - Expected { after 'if' condition.  不知道是什么原因,但是不影响使用,一切正常
fanta
火狐狸
火狐狸
  • UID30401
  • 注册日期2009-09-17
  • 最后登录2024-05-05
  • 发帖数236
  • 经验164枚
  • 威望0点
  • 贡献值114点
  • 好评度5点
  • 社区居民
  • 忠实会员
10楼#
发布于:2022-10-15 22:51
逗妇乳:你想多了,我不是每天上这里的回到原帖
高手~ 我又来了 是个大大大工程,
jhssd.com这个nb的盗x版网站(你说过不让VPS IP访问) 本周相继迎来2次"反盗x版"重大更新
例如这个页面https://www.jhssd.com/5964/27546748_2.html
what's new:
第一次重大更新: 把29个常用汉字变成图片,这样就不能整体复制黏贴了,对我来说就是.replace()失效了
机智如我用下面这行搞定了,
.replace(/&lt;img src="\/t\/1\.png"&gt;/g, "不").replace(/&lt;img src="\/t\/2\.png"&gt;/g, "出").replace(/&lt;img src="\/t\/3\.png"&gt;/g, "大").replace(/&lt;img src="\/t\/4\.png"&gt;/g, "道").replace(/&lt;img src="\/t\/5\.png"&gt;/g, "个").replace(/&lt;img src="\/t\/6\.png"&gt;/g, "过").replace(/&lt;img src="\/t\/7\.png"&gt;/g, "和").replace(/&lt;img src="\/t\/8\.png"&gt;/g, "可").replace(/&lt;img src="\/t\/9\.png"&gt;/g, "来").replace(/&lt;img src="\/t\/10\.png"&gt;/g, "们").replace(/&lt;img src="\/t\/11\.png"&gt;/g, "你").replace(/&lt;img src="\/t\/12\.png"&gt;/g, "前").replace(/&lt;img src="\/t\/13\.png"&gt;/g, "去").replace(/&lt;img src="\/t\/14\.png"&gt;/g, "人").replace(/&lt;img src="\/t\/15\.png"&gt;/g, "上").replace(/&lt;img src="\/t\/16\.png"&gt;/g, "时").replace(/&lt;img src="\/t\/17\.png"&gt;/g, "是").replace(/&lt;img src="\/t\/18\.png"&gt;/g, "他").replace(/&lt;img src="\/t\/19\.png"&gt;/g, "她").replace(/&lt;img src="\/t\/20\.png"&gt;/g, "太").replace(/&lt;img src="\/t\/21\.png"&gt;/g, "天").replace(/&lt;img src="\/t\/22\.png"&gt;/g, "我").replace(/&lt;img src="\/t\/23\.png"&gt;/g, "下").replace(/&lt;img src="\/t\/24\.png"&gt;/g, "小").replace(/&lt;img src="\/t\/25\.png"&gt;/g, "要").replace(/&lt;img src="\/t\/26\.png"&gt;/g, "有").replace(/&lt;img src="\/t\/27\.png"&gt;/g, "在").replace(/&lt;img src="\/t\/28\.png"&gt;/g, "这").replace(/&lt;img src="\/t\/29\.png"&gt;/g, "中")

虽然很蠢,时效也短,网站还会定期更新这些图片,就得改,不过我很闲...同时时效也不是特别短,因为一改,cookie就得更新,貌似还需要删除,
很容易造成文字混乱,让读者远离, 不知道有没有更好的解决办法?当然不看这个网站就解决了......

第二次重大更新: 就是2天前,用大量的类似的<span class="_ea6ds1ebkgwmfy3y"></span>代替一个汉字,底部增加代码如下:
&lt;style&gt;
@font-face {
    font-family: "wshp_100_1";
    src: url("/jhssd/fonts/wshp_100_1.ttf");
}
  
._vywcmxpg5ce03ehb:before {
    content: "\7684";
}
  
._rwiydli7dzcwy96f:before {
    content: "\5c31";
}

菜鸟我只想说nb大了,这个和起点反盗x版反义词有一拼啊,
我只会测试一个一个手动还原成功,但是这个第二次重大更新有个重大突破,class名称都是随机生成的,每刷新一次页面都会更新,我不会编程,无可奈何啊~
我只能有个思路,
先匹配 <span class="_ea6ds1ebkgwmfy3y"></span>
再匹配查找出对应的 content: "\1234" 并替换为"\u1234"
再nr_content.innerHTML = nr_content.innerHTML.replace( "<span class="_ea6ds1ebkgwmfy3y"></span>", "\u1234")
不停循环替换... 不知道对不对,弯不弯,行不行...
抽空帮我写下吧,这个好像挺难的,反正靠我这个百度"高手"是写不出来的
fanta
火狐狸
火狐狸
  • UID30401
  • 注册日期2009-09-17
  • 最后登录2024-05-05
  • 发帖数236
  • 经验164枚
  • 威望0点
  • 贡献值114点
  • 好评度5点
  • 社区居民
  • 忠实会员
11楼#
发布于:2022-10-12 10:32
逗妇乳:document.addEventListener('DOMContentLoaded', function (e) {
    // 这里写代码
}, false);可能是脚本加载太快?
回到原帖
愚蠢的我找到原因了 没在safari的tampermonkey 中加// @require https://code.jquery.com/jquery-xxx.js
firefox不加不运行,safari以前一直不加也没事运行好好的....很困惑,以前怎么就行,现在才不加载,现在不加也经常有效,神奇,是缓存什么的原因吧...
2.我百度搜到的 加什么版本jquery的都有
https://releases.jquery.com/git/jquery-3.x-git.min.js 这个是jQuery v3.6.2-pre
https://code.jquery.com/jquery-latest.js 这个是1.11.1,都latest怎么会是1.11这么老的版本
我去官网 看现在提供下载的正规版本是3.6.1 所以我现在加的是// @require      https://code.jquery.com/jquery-3.6.1.min.js
到底应该用哪个版本...对我是不是都一个鸟样....


最后这个简单的解决了 编辑掉...哈哈 我看没回复 估计是很简单 懒得理我 我就瞎试了下 成了...果然简单
fanta
火狐狸
火狐狸
  • UID30401
  • 注册日期2009-09-17
  • 最后登录2024-05-05
  • 发帖数236
  • 经验164枚
  • 威望0点
  • 贡献值114点
  • 好评度5点
  • 社区居民
  • 忠实会员
12楼#
发布于:2022-10-10 18:06
逗妇乳:footer = document.querySelector("#footer");
element = footer?.parentNode.insertBefore(document.createElement("div"), fo...
回到原帖
我只能看关键字 对这几行有个一知半解,确实好使,非常厉害的办法
现在暂时就剩下 代码不是每次都生效的问题了 以前没出现过这种现象, 要不就写错了不生效 要不就肯定生效,不知道我哪里出问题了 见鬼了 我再去搞搞
fanta
火狐狸
火狐狸
  • UID30401
  • 注册日期2009-09-17
  • 最后登录2024-05-05
  • 发帖数236
  • 经验164枚
  • 威望0点
  • 贡献值114点
  • 好评度5点
  • 社区居民
  • 忠实会员
13楼#
发布于:2022-10-10 13:03
逗妇乳:.content_read {
    margin: 0 auto;
}
回到原帖
谢谢,搞定了!  虽然不是这里的问题 是我的错误
.content_read, .dahengfu, #box_con, .box_con, .con_top, .bottem, .bottem2, #nr, .boxlist_con {
  padding: 0px !important;
  border: 0px !important;
  margin: 0px !important;
  background: black !important;
}
其实我已经将这个设为0了, 但是因为你都截图了,说明肯定是我哪里搞错了
然后我查来查去,现在查到原因了...因为我前前后后瞎改了好多次

最终 为了使访问书签的时候直达小说列表页面的底部 我需要在书签链接后面加上了#footer
就是这样https://www.bidige.com/book/39224/#footer

为了好使 就得取消屏蔽#footer
改成了屏蔽.footer_cont, #footer里面就包含这一个项目,
最终结果是 #footer没有完全屏蔽 他有个margin-bottom:20px

现在ok了 终于搞明白了 谢谢帮忙
------------------------
这里还有个问题 有的小说列表页面
不是这样的 https://www.bidige.com/book/39224/
而是这样的 https://www.xxxxxx.com/xxx/xxx.xxx
直接在后面加#footer不行  访问这样书签就404了 这种怎么能 访问时候直达页面底部


还有就是 最近瞎折腾以后 不知道什么情况  看小说翻下一页 发现 整个代码不一定必然生效  就好像没有安装tampermonkey一样
有时候需要刷新1-2次才行 这是什么情况
fanta
火狐狸
火狐狸
  • UID30401
  • 注册日期2009-09-17
  • 最后登录2024-05-05
  • 发帖数236
  • 经验164枚
  • 威望0点
  • 贡献值114点
  • 好评度5点
  • 社区居民
  • 忠实会员
14楼#
发布于:2022-10-09 17:33
taoww:.bottem2 { margin-bottom:0 !important; }回到原帖
.content_read, .dahengfu, #box_con, .box_con, .con_top, .bottem, .bottem2, #nr, .boxlist_con {
  padding: 0px !important;
  border: 0px !important;
  margin: 0px !important;
  background: black !important;
}
不行的,我已经设置这个为0px了

$(`&lt;div&gt;添加到最下面&lt;/div&gt;`).appendTo('body');
你添加一行这个试试,就能看到  新添加的和 上一章 ← 章节目录 → 下一章 这一行有 不知道什么造成的空间或者空白

上一页
游客

返回顶部