Javascript 如何创建默认情况下在新窗口中打开的浏览器书签?

Javascript 如何创建默认情况下在新窗口中打开的浏览器书签?,javascript,bookmarklet,bookmarks,Javascript,Bookmarklet,Bookmarks,我正在尝试创建一个bookmarlet,它总是在新选项卡中打开,而不需要用户按住ctrl键单击或右键单击bookmarlet。(Firefox/Chrome) 我试过这个: javascript:window.open('https://google.com'); 它可以工作:它在一个新的标签中打开Google,但是当前标签的地址栏被替换为书签代码,当前标签的主体变成[object Window] 如果我附加window.history.back()对于bookmarklet,它实际上返回到当

我正在尝试创建一个bookmarlet,它总是在新选项卡中打开,而不需要用户按住ctrl键单击或右键单击bookmarlet。(Firefox/Chrome)

我试过这个:

javascript:window.open('https://google.com');
它可以工作:它在一个新的标签中打开Google,但是当前标签的地址栏被替换为书签代码,当前标签的主体变成[object Window]

如果我附加
window.history.back()
对于bookmarklet,它实际上返回到当前页面之前的页面


有什么想法吗?

有时候,当您不关闭文档时,会出现奇怪的bookmarklet行为。 试试这个:

javascript:var w=window.open();w.location='https://www.google.com';w.document.close();

它在铬合金中工作。我没有Firefox

如果不关闭文档,有时会出现奇怪的bookmarklet行为。 试试这个:

javascript:var w=window.open();w.location='https://www.google.com';w.document.close();

它在铬合金中工作。我没有Firefox

您正在测试哪些浏览器版本?在Chrome73中,我使用了您的确切代码,并且没有看到对当前选项卡的任何更改(尽管我偶尔会触发弹出窗口阻止程序)。作为bookmarklet,这有什么意义?您可以在已使用内置功能的新选项卡中打开任何书签features@charlietfl要点是避免在新选项卡中打开书签时必须执行特殊操作(即在单击时按住CTRL键,或右键单击并选择“在新选项卡中打开”)。如果有一个本地的方法来实现这一点,我洗耳恭听。@Vlad274我正在Firefox(最新版本)中测试。你在测试什么浏览器版本?在Chrome73中,我使用了您的确切代码,并且没有看到对当前选项卡的任何更改(尽管我偶尔会触发弹出窗口阻止程序)。作为bookmarklet,这有什么意义?您可以在已使用内置功能的新选项卡中打开任何书签features@charlietfl要点是避免在新选项卡中打开书签时必须执行特殊操作(即在单击时按住CTRL键,或右键单击并选择“在新选项卡中打开”)。如果有一种本机的方法来实现这一点,我洗耳恭听。@Vlad274我正在Firefox(最近的)中测试。“close()”语句到底在做什么?为什么它实际上不关闭新选项卡?
document.close()
表示您已完成对加载文档的更改。某些浏览器要求在bookmarklet中正确显示文档,但此bookmarklet可能没有必要,因为您没有更改文档<代码>窗口。关闭()将尝试关闭窗口或选项卡,根据浏览器设置,可能会弹出确认对话框。“关闭()”语句到底在做什么?为什么它实际上不关闭新选项卡?
document.close()
表示您已完成对加载文档的更改。某些浏览器要求在bookmarklet中正确显示文档,但此bookmarklet可能没有必要,因为您没有更改文档<代码>窗口。关闭()将尝试关闭窗口或选项卡,根据浏览器设置,可能会弹出确认对话框。