Javascript链接,可以在新的选项卡/窗口中打开
Javascript link with the ability to open in new tab/window
我正在尝试获得一个链接,该链接将在当前页面中打开,或者当单击命令/ctrl时(等等)将根据用户设置在新的选项卡/窗口中打开。现在我用的是这样的东西:
<a href='http://example.com' onclick="setTimeout(function() {window.location='/some_local_page'}, 10); return false;">Foo!</a>
这允许我点击链接并打开本地页面,但我必须明确地右键点击并选择在新选项卡/窗口中打开。我很确定这是一个已经解决的问题,但我找不到google/stackoverflow关键字的正确组合。:)
这可能有助于澄清:
<a href='http://example.com' onclick="some_javascript_function(); return false;">Foo!</a>
在这种情况下,单击应调用some_javascript_function(),并打开命令/ctrl click"http://example.com",并且对当前页面不做任何操作。
这就是您想要的吗?
<a href="http://example.com" onclick="window.open('/some_local_page')">Foo!</a>
还是这个?
<a href="/some_local_page" target="_blank">Foo!</a>
编辑:单击中央或左侧按钮(但不单击右侧按钮)时,onclick
将启动。
因此,在onclick
中,您需要检测ctrl是否被按下,或者它是否是中间按钮。
我还建议不要将JavaScript内联。试试这个:
<a href="http://example.com" class="link" data-link="/some_local_page">Foo!</a>
$('a.link').click(function(e){
if(e.button === 0 && !e.ctrlKey){ // Click without ctrl
e.preventDefault();
// open local page
window.location = $(this).data('link');
}
// Middle click and ctrl click will do nothing,
// thus allowing the brower to open in a new window
});
演示:http://jsfiddle.net/E8hEt/
如果您想转到相同的url,为什么不在其href属性中呈现相同的url?。要在新窗口中打开它,请将目标设置为_blank
。
<a href='/some_local_page' target='_blank'>Foo!</a>
相关文章:
- 激活镀铬窗口选项卡
- 检测内容'It’’’’我在窗口选项卡上
- 如何通过单击Highchart图中的列/栏打开新窗口/选项卡
- Javascript表单提交打开新窗口选项卡,然后重定向父页面
- 来自 HREF 的新窗口/选项卡
- 检查锚点打开的窗口/选项卡是否已关闭
- 离开窗口选项卡时堆叠(重叠)的图像
- 如何从JavaScript弹出窗口打开父窗口选项卡
- 将表单提交到新窗口/选项卡
- 如何在新窗口/选项卡中打开文本和 xml 文件
- 检测链接是在新窗口/选项卡还是当前窗口中打开
- 在c中按下一个按钮,打开两个新的窗口/选项卡(不同的外部站点)
- 新窗口/选项卡中的JavaScript确认对话框
- 如何在浏览器窗口/选项卡关闭时删除本地存储项目
- 如何打开新窗口/选项卡,但专注于打开窗口
- 打开一个新窗口/选项卡
- Chrome窗口不会从无限滚动加载内容,除非窗口(选项卡)处于焦点位置
- JQuery发送带有Headers的Ajax GET,并在新窗口/选项卡中打开
- 如何防止firefox内部的javascript关闭窗口/选项卡
- 关闭窗口/选项卡时的Websocket-Chrome