在新选项卡中显示书签输出

Show bookmarklet output in new tab

我有一个非常简单的问题(我猜),但它让我忙了很长时间。 当 运行 这个小片段出现在我的书签中时:

javascript:document.getElementById("detailPanel-body").innerHTML;

当前页面将更改为小书签的输出。但是,我想要的是小书签打开一个带有 javascript 代码输出的新选项卡。

如果您使用未阻止导航到数据 URI 的浏览器(如 Firefox),您可以试试这个:

javascript: {
  void window.open(`data:text/plain;charset=UTF-8,${
    encodeURIComponent(document.getElementById('detailPanel-body').innerHTML)
  }`);
}

如果您使用浏览器访问数据 URI 被阻止 (like Chrome),您可以试试这个:

javascript: {
  void (window.open().document.body.textContent =
    document.getElementById('detailPanel-body').innerHTML);
}