欢迎各位兄弟 发布技术文章
这里的技术是共享的
我想点击某个按钮button 打开一个链接,但是不能用window.open 这样容易被浏览器屏蔽。
<input type="button" onclick="javascript:location.href='http://www.baidu.com'" value="点我啊!">
上面的代码是在本窗口中打开这个链接,能否该成在新窗口打开?
window.open ? 不过弹窗会被IE拦截
你换一种方式吗
javascript:location.href
中的location 肯定是指定当前你打开的IE 的地址栏,
你用超级连接,不就很容易啊
设置超级连接的target='_blank'
<input type="button" onclick="javascript:window.open("http://www.baidu.com","_blank") " value="点我啊!">
location.href 没那个功能.
你可以综合1楼 和2楼,任选一个,根据你需要。
location.href 没那个功能
下面这个有大用 有大大用
<a id="tagOpenWin" target="_blank"></a>
<script language="JavaScript">
function openwin(url)
{
var obj = document.getElementById("tagOpenWin");
obj.href = url;
obj.click();
}
</script>
<input type="button" value="测试" onclick="openwin('http://www.cjol.com/');">
来自 http://bbs.csdn.net/topics/300169962
javascript location.href 新窗口打开
在 JavaScript 中,要在一个新窗口或新标签页中打开链接,可以使用 window.open() 方法,而不是直接修改 location.href(后者会在当前窗口导航)。以下是两种常见方式的示例和说明:
window.open()javascript// 在新窗口/标签页中打开 URL window.open("https://example.com", "_blank");
参数说明:
第一个参数是目标 URL。
第二个参数 "_blank" 表示在新窗口/标签页中打开。
行为:
浏览器的默认设置决定是新窗口还是新标签页(用户可自行配置)。
某些浏览器可能会拦截弹出窗口,需确保调用是由用户触发的(如点击事件)。
<a> 标签 # OK 有大用javascript// 动态创建 <a> 标签并设置 target="_blank" const link = document.createElement("a"); link.href = "https://example.com"; link.target = "_blank"; link.click();
优点:
更符合语义化,行为类似普通链接。
较少被浏览器拦截。
location.href?location.href = "url" 会在当前窗口导航,无法实现新窗口打开。
浏览器拦截:window.open() 可能被浏览器拦截,需确保在用户操作(如按钮点击)中触发。
javascriptbutton.addEventListener("click", () => { window.open("https://example.com", "_blank"); });
安全性:跨域 URL 可能会受到限制(如无法通过 window.open() 访问或修改新窗口内容)。
推荐方式:优先使用 <a target="_blank"> 或动态创建 <a> 标签。
编程式导航:如需通过代码控制,用 window.open(url, "_blank")。
如果有更复杂的需求(如控制窗口大小),可以传递额外参数给 window.open(),但需注意浏览器兼容性和用户偏好。