javascript - HTML在图像onclick上再次打开新窗口
问题描述
尝试不同的选项,例如我在下面的新窗口中打开页面在新标签中打开
<a href="imageurl" target="_blank">
<img src="imageurl" style="width: 50%; height: 220px;">
</a>
下面覆盖当前窗口
<img src="imageurl" style="width: 50%; height: 220px;" onclick="window.open(this.src)">
期待再次在新窗口中打开。请建议
解决方案
要触发新窗口而不是新选项卡(您通常不应该这样做),您需要指定一些浏览器不会应用于选项卡的窗口功能。
在 Chrome 中设置resizable
就足够了。我没有在其他浏览器中测试过。
HTML:
<a href="http://placekitten.com/100/100" target="_blank">
<img src="http://placekitten.com/100/100">
</a>
JS:
const openInNewWindow = event => {
event.preventDefault();
const {href, target} = event.currentTarget;
const features = "resizable";
window.open(href, target, features);
};
document.querySelector("a")
.addEventListener("click", openInNewWindow);
(不要将单击事件侦听器绑定到图像,它们并非设计为交互式控件。依赖(例如)屏幕阅读器或键盘焦点与文档交互的用户会发现很难或不可能触发单击在图像上。使用语义标记。如果要链接某些内容,请使用链接,然后使用 JS 进行增强。)
推荐阅读
- google-apps-script - 谷歌表格:让公式只更改一次单元格
- r - 确定日期/时间间隔是否跨越中午,无论是哪一天,在 R
- coq - Coq 中的循环类型定义
- machine-learning - 为什么 iloc 函数为以下语法返回两个不同的答案?
- docker - 带有 EF Core 和 K8s 的 .NET 和 SQL Server 容器
- ansible - 运行 Ansible 角色以禁用密码登录后权限被拒绝(公钥)
- datadog - 为什么 Datadog 不捕获标签?
- python - set_position() 之后的 matplotlib twinx 奇怪行为
- python-3.x - Python:打开文件并显示进度
- python - 如何防止 __init__ 在目录中运行?