在不重新加载页面的情况下复制Chrome中的标签?

ami*_*ikh 24 google-chrome google-chrome-extension google-chrome-devtools

有没有办法完全复制Google Chrome中当前标签的状态?我想要一个页面当前状态的精确副本,而不必在另一个选项卡中重新加载页面.

一个用例示例:

在新闻网站上浏览"幻灯片"时,我想保留我当前的幻灯片,但创建一个副本,以便我可以继续查看下一张幻灯片.如果我只是右键单击并"复制"选项卡,新页面将完全重新加载,重新处理所有Javascript并再次运行幻灯片前广告.

Sha*_*dow 4

简而言之,“不”,你不能。

我不是这方面的专家,但我知道可以通过某些方式实现类似的行为:

转储整个 DOM

但从未尝试过这个。您可以将 DOM 转换为字符串,将其传递到新窗口,然后将其解析为文档。这会让你失去 DOM 事件和状态操作 javascript。(但这对你的情况有好处)

var dtab = window.open('about:blank', 'duplicate_a_tab');
dtab.document.open();
dtab.document.write("... yout html string ..");
dtab.document.close();
Run Code Online (Sandbox Code Playgroud)

开发扩展

让用户继续在当前选项卡上保持当前状态,您的扩展程序应该能够捕获该区域的屏幕截图并在新选项卡中打开该屏幕截图。市场上有很多屏幕截图扩展程序可用。

如果该网站是您自己的

您可以开发像渐进式 Web 应用程序一样在本地使用状态的服务。单独提供一个指向“重复”的链接,该链接最终将在具有相同本地状态和标志“不同步”的不同选项卡中打开相同的 URL。

当用户使用浏览器内置的重复功能时,这将不起作用。