如何编辑网站的HTML代码并在重新加载后仅对自己有效?

3

假设我经常使用一个网站,但不喜欢设计中的某个方面。我显然不拥有这个网站,但我不想每次加载页面时都必须进去编辑HTML。我希望能够保存一些HTML代码,并且每当打开该网站时,它应该自动替换代码,或者运行一些Javascript之类的东西,甚至可以更改一些CSS。这是否可能,如果可能,如何实现?

4个回答

2
这样做最简单的方法是安装一个用户脚本管理器,比如Tampermonkey。然后,您可以为该网站创建一个用户脚本,将HTML更改为您想要的样子,如果代码编写正确,每次加载该网站时它都会自动运行。
例如,由于Stack Exchange的CSS/Javascript中存在错误,在片段加载时快速双击会导致错误,因此我目前使用以下用户脚本来修复它:
// ==UserScript==
// @name             Stack Snippet Modal Fixer
// @description      Prevents snippet double-clicking from breaking the snippet interface
// @author           CertainPerformance
// @version          1.0.0
// @include          /^https://(?:(?:(?:codereview|gamedev|codegolf|meta)\.)(?:[^/]+\.)?stackexchange\.com|(?:[^/]+\.)?stackoverflow\.com)/(?:questions/(?:\d|ask/)|posts/\d+/edit|review/(?:reopen|helper|low-quality-posts|suggested-edits)(?:/\d+|$))/
// @grant            none
// ==/UserScript==

document.body.appendChild(document.createElement('style')).textContent = `
.snippet-modal {
  pointer-events: auto !important;
}
`;

这段文字的意思是:使用Javascript向文档中添加一个<style>标签,但您也可以对文档进行其他更改(例如更改页面的HTML或删除现有内联<style>的样式规则等)。

用户脚本的唯一限制是页面上Javascript的限制,但大多数想要调整的内容可能都可以通过Javascript实现。
个人而言,如果没有编写用户脚本来自定义次优界面的能力,我会很难浏览我经常访问的许多站点。

你是否知道一种直接在网页中保存我们所做更改的方法?例如:使用Tampermonkey,我们可以使用contenteditable="true"更改文本,但是如何保存此更改呢?是否可以从网页内部编辑/更改Tampermonkey脚本?最简单的方法是什么? - JinSnow
1
请参考https://dev59.com/R2025IYBdhLWcg3wChOb - 监听“blur”事件并保存元素的“innerHTML”。 在页面加载时,加载保存的“innerHTML”并将其设置为内容。看起来这样就可以了。 - CertainPerformance

1

1
Stylus很好,但它只影响CSS。(请注意名称“Stylus”,而不是“Stylish”- Stylish曾经是最受欢迎的用户CSS管理器之一,但被某个广告公司收购并变成了一种记录您浏览活动并将其发送到谁知道哪里的东西。) - CertainPerformance

0

0

我认为已经有一个插件可以完全做到这一点。我没有使用它,只是记得几年前在Chrome扩展商店中找到了它。试试看:

Monkey Wrench


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接