通过JavaScript获取页面的HTML源代码并覆盖它
Getting HTML source of a page by JavaScript and overwriting it
我正在使用Javascript为浏览器编写一个扩展。如何获取整个HTML源代码并重新编写?
我需要更改源代码中的一些单词并重新打开该页面。
在javascript中,您可以尝试以下操作:
var source = document.documentElement.outerHTML;
和获取doctype使用:
var doctype = document.doctype;
来源:获取整个文档';带有JavaScript/JQuery 的s html
我还发现了这篇关于在Chrome扩展中做同样事情的帖子,如果这有帮助的话:
从chrome扩展获取当前页面的源HTML
尝试这样的操作来获取页面源:
document.documentElement.innerHTML
这个改变了它:
document.documentElement.innerHTML = '<body>I like pie</body>'
document.documentElement
是页面上的<html> ... </html>
元素,innerHTML
将给出它的HTML。
您可以使用获取整个页面的来源
oldSource = document.getElementsByTagName("html")[0].innerHTML;
然后将整个页面替换为:
document.write(newSource);
或者,如果您想替换页面上的几个元素,请使用以下选项之一:
如果你知道元素的
id
:oldText = document.getElementById("idOfElement").innerHTML; document.getElementById("idOfElement").innerHTML = newText;
如果你知道元素的
class
:oldText = document.getElementsByTagName("classOfElement")[0].innerHTML; document.getElementsByTagName("classOfElement")[0].innerHTML = newText;
(其中
0
表示您正在查找页面上具有指定类名的第一个元素)如果您知道元素的标签名称:
oldText = document.getElementsByClassName("tagName")[0].innerHTML; document.getElementsByClassName("tagName")[0].innerHTML = newText;
(其中
0
表示您正在查找页面上具有特定标签名称的第一个元素)或者,您可以使用jQuery选择器,例如:
oldText = $("#idOfElement").html(); oldText = $(".classOfElement").html(); oldText = $("tagName:nth-child(1)").html(); $("#idOfElement").html(newText); $(".classOfElement").html(newText); $("tagName:nth-child(1)").html(newText);
其中
:nth-child(1)
表示您正在查找页面上具有指定标记名称的第一个元素。如果存在多个具有相同类名的元素,则在搜索类时也可以使用此选项
相关文章:
- 在循环中分配json值时,值被覆盖
- 谷歌地图固定位置覆盖
- 只覆盖箭头键滚动事件
- JQuery覆盖不更改单选选项
- 活动选项卡's源代码-获取变量s值
- 如何覆盖锚点元素's href目标,并在我点击转到目标javascript时删除其他错误
- 将添加一个相同类型的事件附加或覆盖以前添加的具有相同名称的事件
- 传单中如何在更改基层时启用/禁用覆盖层
- 点击(右键点击)使用传单地图库获取图像覆盖的像素坐标
- HTML/CSS-用于拖放的全页面覆盖
- 让javascript知道epub3电子书中何时播放媒体覆盖
- 覆盖函数中的函数
- 无法覆盖CSS伪元素:before
- 如何覆盖原型中的事件侦听器
- 覆盖在赢得'不允许点击下面的标记,谷歌地图api v3
- 如何覆盖主干中的extend方法
- jQuery无法处理覆盖
- qoxdoo的代码覆盖工具
- 像createComment这样的各种自定义变量名在内联javascript中被覆盖,但在外部js中没有.为什么?
- 通过JavaScript获取页面的HTML源代码并覆盖它