|
阅读:13301回复: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> 还正常 这是为什么呢...为什么不需要改动呢..应不应该改下呢 |
|
上一页
下一页