如何打开一个URL在新标签而不是新窗口编程?
使用window.open ():
var win = window.open('http://stackoverflow.com/', '_blank');
if (win) {
//Browser has allowed it to be opened
win.focus();
} else {
//Browser has blocked it
alert('Please allow popups for this website');
}
这取决于浏览器的实现
没有什么可以做,使它打开在一个窗口,而不是一个标签。
这很简单。
window.open('_link is here_', 'name');
功能描述:
Name是窗口的名称。支持以下名称:
_blank - URL被加载到一个新的选项卡。这是默认值。 _parent - URL被加载到父帧 _self - URL替换当前页面 _top - URL替换任何可能加载的框架集
你可以很容易地创建一个新标签;像下面这样做:
function newTab() {
var form = document.createElement("form");
form.method = "GET";
form.action = "http://www.example.com";
form.target = "_blank";
document.body.appendChild(form);
form.submit();
}
我知道你的问题没有指定如果你试图打开所有的标签在一个新的窗口或只有外部链接。
但如果你只想在一个新标签中打开外部链接,你可以这样做:
$( 'a[href^="http://"]' ).attr( 'target','_blank' )
$( 'a[href^="https://"]' ).attr( 'target','_blank' )
如果你想打开新标签上的所有链接,尝试使用jquery
$(document).on('click', 'a', function(e){
e.preventDefault();
var url = $(this).attr('href');
window.open(url, '_blank');
});
推荐文章
- 在angularJS中& vs @和=的区别是什么
- 错误"Uncaught SyntaxError:意外的标记与JSON.parse"
- JavaScript中的querySelector和querySelectorAll vs getElementsByClassName和getElementById
- 给一个数字加上st, nd, rd和th(序数)后缀
- 如何以编程方式触发引导模式?
- setTimeout带引号和不带括号的区别
- 在JS的Chrome CPU配置文件中,'self'和'total'之间的差异
- 用javascript检查输入字符串中是否包含数字
- 如何使用JavaScript分割逗号分隔字符串?
- 在Javascript中~~(“双波浪号”)做什么?
- 谷歌chrome扩展::console.log()从后台页面?
- 未捕获的SyntaxError:
- [].slice的解释。调用javascript?
- 在jQuery中的CSS类更改上触发事件
- jQuery日期/时间选择器