是否可以在不使用浏览器插件的情况下修改链接目标的 html?

Posted

技术标签:

【中文标题】是否可以在不使用浏览器插件的情况下修改链接目标的 html?【英文标题】:Is it possible to modify the html of a link's target after the link has been followed without using a browser add-on? 【发布时间】:2015-01-24 08:01:47 【问题描述】:

基本上,我想要做的是单击此link 并将所有按钮中的文本更改为“单击我!”。这可以很容易地使用下面的代码使用 jQuery 2.1.1 完成,但是在网上搜索之后,我在点击链接后没有找到方法。

$('button').text('Click me!');

如果不使用浏览器扩展,这可能吗?

【问题讨论】:

点击链接后,您还在同一页面上吗?如果是,页面是否重新加载? 没有。点击链接后,您现在位于新加载的google.com 那么那些链接已经不存在了?还是您想更改 Google.com 上链接的内容? 当我通过点击我的链接访问google.com 时,我正在尝试更改google.com 的html 【参考方案1】:

简短的回答是否定的。每次加载页面时,您的 javascript 都会从服务器中擦除并重新加载。这意味着当您加载 Google.com 时,您只能访问 Google 选择发送给您的任何信息/javascript。这是出于安全考虑,否则网站设计者很容易使用恶意 javascript 感染客户端浏览器,例如,在离开感染网站后监视所有客户端活动。

【讨论】:

我认为这会是个问题。非常感谢您的快速回答。【参考方案2】:

您基本上是想抓住所有按钮并遍历每个按钮,设置文本。

var buttons = document.querySelectorAll('button');

[].forEach.call(buttons, function(button) 
  button.textContent = 'Click me!';
);

编辑:如果您想使用 for 循环进行迭代,您可以这样做:

for (var i = 0, l = buttons.length; i < l; i++) 
  buttons[i].textContent = 'Click me!';

【讨论】:

以上是关于是否可以在不使用浏览器插件的情况下修改链接目标的 html?的主要内容,如果未能解决你的问题,请参考以下文章

怎么在不打开网页的情况下判断链接是不是有效?

我可以在不重新加载浏览器的情况下编辑 React 组件吗?

是否可以在不创建全新文件的情况下修改 .jar 文件? [复制]

是否可以在不修改 Form 类的情况下使用 django-crispy-form FormHelper

在不通过网络浏览器进行清理的情况下查看访问日志是不是危险?

是否可以在不使用 Web 浏览器的情况下通过 websockets 交谈?