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