如何在原始DOM和内容脚本更改的DOM之间切换?

时间:2014-08-29 09:48:29

标签: javascript jquery dom google-chrome-extension

我正在制作一个Chrome扩展程序来更改页面的DOM。但我想为用户提供在更改前的页面和更改的页面之间切换的选项。

这有点像谷歌翻译,您可以在原始语言和翻译的消息之间进行切换。

我在自己的搜索中找不到任何内容。

我知道JavaScript但不知道JQuery。

感谢您的帮助。

3 个答案:

答案 0 :(得分:0)

您可以将整个身体保存在变量中,然后开始覆盖事物。如果你想重新加载旧物体。

答案 1 :(得分:0)

您可以在运行内容脚本之前将所有原始DOM内容保存到变量中。您可以使用内容脚本顶部的以下代码执行此操作:

var originalDOM = document.getElementsByTagName("*");

这会将整个DOM保存在名为originalDOM的数组中。 *作为通用标记,请求文档中的每个标记。您可以详细了解.getElementsByTagName() API here

答案 2 :(得分:0)

你可以尝试:

var html = document.getElementsByTagName("html")[0];
var page = html.innerHTML;

这将为您提供<html>代码之间的所有内容。 注入内容脚本后,运行:

var newPage = html.innerHTML;

现在,只要您想在页面之间切换,只需运行:

html.innerHTML = page; //or newPage

您可以详细了解.getElementsByTagName()API here