我正在尝试“强制”Safari 或 IE7使用新选项卡打开新页面。
以编程方式,我的意思是:
window.open('page.html','newtaborsomething');
我正在尝试“强制”Safari 或 IE7使用新选项卡打开新页面。
以编程方式,我的意思是:
window.open('page.html','newtaborsomething');
您可以在 Firefox 中工作,将属性 target="_newtab" 添加到锚点以强制打开新选项卡。
<a href="some url" target="_newtab">content of the anchor</a>
在javascript中你可以使用
window.open('page.html','_newtab');
说,我部分同意山姆。你不应该强迫用户打开新页面或新标签,而不是在他们点击链接之前向他们显示将要发生的事情的提示。
让我知道它是否也适用于其他浏览器(目前我没有机会在 Firefox 以外的其他浏览器上尝试它)。
编辑:为 ie7 添加了参考 也许这个链接很有用
http://social.msdn.microsoft.com/forums/en-US/ieextensiondevelopment/thread/951b04e4-db0d-4789-ac51-82599dc60405/
您无法直接控制它,因为它是由 Internet Explorer 用户控制的选项。
使用具有不同窗口名称的 Window.open 打开页面将在新的浏览器窗口中打开,如弹出窗口,或者在新选项卡中打开,如果用户配置浏览器这样做。
那些尝试使用以下内容的人:
window.open('page.html', '_newtab');
真的应该看看 window.open 方法。
您所做的只是告诉浏览器打开一个名为“_newtab”的新窗口并将 page.html 加载到其中。您加载的每个新页面都将加载到该窗口中。但是,如果用户将浏览器设置为在新选项卡而不是新窗口中打开新页面,它将打开一个选项卡。无论如何,它对窗口或选项卡使用相同的名称。
如果您希望在不同的窗口或选项卡中打开不同的页面,则必须将新窗口/选项卡的名称更改为不同的名称,例如:
window.open('page2.html', '_newtab2');
当然,新窗口/选项卡的名称可以是任何名称,例如 page1、page2、page3 等,而不是 _newtab2。
是否要使用新选项卡或新窗口取决于用户,修改此行为不是开发人员的业务。我不认为你能做到。
我的烦恼-当网站强迫我在新窗口/标签中打开时,我讨厌它-我完全有能力为自己做出决定。特别是当他们在 javascript 中执行此操作时 - 这真的无济于事。
你是否已经尝试过
var open_link = window.open('','_blank');
open_link.location="somepage.html";
这工作 100%
window.open('http://www.google.com/','_newtab' + Date.now());
我在 Chrome 中发现,
window.open('page.html','_newtab')
只会工作一次。
您可以使用:
window.open(ct.getNewHref(),'_newtab' + Math.floor(Math.random()*999999));
打开多个新标签。
我与 jQuery 一起使用的代码:
$("a.btn_external").click(function() {
url_to_open = $(this).attr("href");
window.open(url_to_open, '_blank');
return false;
});
这对于区分子项中父项的单击事件很有用。通过使用这种方法,您不会触发父级的点击事件。
如果您愿意,可以使用这种方法,这有点 hacky,但会提供所需的功能:
jQuery('<a/>', {
id: 'foo',
href: 'http://google.com',
title: 'Become a Googler',
rel: 'external',
text: 'Go to Google!',
target:'_blank',
style:'display:none;'
}).appendTo('#mySelector');
$('#foo').click()
如果您可以调用批处理文件,这可能会起作用(我在 XP sp2 和 IE8 中使用 php ...您可以尝试 IE7,不知道)。在 .bat 文件中使用以下(或类似内容)打开 Windows:启动“C:\Progra~1\Intern~1\iexplore”http://www.site.com“。引号和 C:\Progr... 等之间没有空格。在某些时候,这可能会开始打开新窗口(即 target="_blank")而不是新选项卡,但在一定程度上可以工作;没有经过广泛测试。要在常规批处理文件 (CMD.exe) 中使用它,您可能需要已经打开一个窗口。只是分享一些我偶然发现的东西。为澄清而编辑。
<a href="http://www.google.com/" target="_self">New Tab Example</a>
在 IE7 中工作。
问候,
格伦