以编程方式在选项卡上打开新页面
-
06-07-2019 - |
题
我正试图“强迫” Safari或IE7使用新标签打开新页面。
以编程方式我的意思是:
window.open('page.html','newtaborsomething');
解决方案
您无法直接控制它,因为它是由Internet Explorer用户控制的选项。
如果用户配置了浏览器,则使用具有不同窗口名称的Window.open打开页面将在新的浏览器窗口中打开,如弹出窗口, OR 在新选项卡中打开。
其他提示
您可以在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/
那些试图使用以下内容的人:
window.open('page.html', '_newtab');
应该真正看一下window.open方法。
您所做的就是告诉浏览器打开一个新窗口NAMED&quot; _newtab&quot;并将page.html加载到其中。您加载的每个新页面都将加载到该窗口中。但是,如果用户将其浏览器设置为在新选项卡而不是新窗口中打开新页面,则会打开一个选项卡。无论如何,它对窗口或标签使用相同的名称。
如果您希望在不同的窗口或标签页中打开不同的页面,则必须将新窗口/标签的名称更改为不同的页面,例如:
window.open('page2.html', '_newtab2');
当然,新窗口/标签的名称可以是任何名称,如page1,page2,page3等,而不是_newtab2。
由用户决定是使用新标签还是新窗口,开发人员不应该修改此行为。我认为你不能这样做。
我的宠儿 - 当网站迫使我在新窗口/标签中打开时我讨厌它 - 我完全有能力为自己做出决定。特别是当他们在javascript中这样做时 - 这真的没有用。
你有没有试过像
var open_link = window.open('','_blank');
open_link.location="somepage.html";
我在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()
这可以100%
window.open('http://www.google.com/','_newtab'+ Date.now());
如果您可以调用批处理文件(我使用php with。),这可能会有效 XP sp2和IE8 ......你可以尝试IE7,dunno)。在.bat文件中使用以下(或类似)打开Windows: 开始&quot;&quot; C:\ Progra~1 \ Intern~1 \ iexplore&quot; http://www.site.com"。引号和C:\ Progr ...等之间没有空格。在某些时候,这可能会开始打开新窗口(即target =&quot; _blank&quot;)而不是新标签,但可以达到一定程度;没有经过广泛测试。要在常规批处理文件(CMD.exe)中使用它,您可能需要打开一个窗口。只是分享我偶然发现的东西。已编辑以澄清。
<a href="http://www.google.com/" target="_self">New Tab Example</a>
适用于IE7。
此致
格伦