Google Sites中悬停放大图片点击无法在同标签页/窗口打开
问题根源
_self不生效、缩放效果异常由4个代码错误直接导致:
window.open()参数顺序错误:该API参数规则为(跳转URL, 目标窗口, 窗口特性配置),你把_self错传到第三个窗口特性参数位,且a标签未设置target属性,传入的this.target为空值,无法触发当前页跳转- CSS选择器匹配失效:你写的
.zoom[href]规则要求选中带href属性的zoom类元素,但zoom类加在无href属性的外层div上,悬停放大样式根本没有绑定到对应元素 - 冗余逻辑+拼写错误:自定义的
openRequestedPopup是弹窗专用逻辑,完全不适用于当前页跳转场景;img标签错写styles属性(正确属性名为style),图片宽度适配失效 - 原CSS中滚动条样式的注释未正常闭合,会导致部分样式解析异常
修复代码
不需要写自定义JS跳转逻辑,直接用a标签原生行为即可,同时修正选择器、属性错误,适配Google Sites嵌入规则:
<!DOCTYPE html> <html> <head> <meta name="viewport" content="width=device-width, initial-scale=1"> <style> * { box-sizing: border-box; } .zoom { display: block; padding: 2px; width: 150px; height: 81px; margin: 0 auto; overflow: hidden; } .zoom img { width: 100%; transition: transform .3s; } .zoom:hover img { -ms-transform: scale(1.3); -webkit-transform: scale(1.3); transform: scale(1.3); } ::-webkit-scrollbar { width: 0px; background: transparent; } ::-webkit-scrollbar-thumb { background: #FF0000; } </style> </head> <body> <a class="zoom" href="替换为你的目标网页地址" target="_self"> <img src="替换为你的图片地址" alt="Our Performance" style="width:100%"> </a> </body> </html>
修复说明
- 移除冗余的弹窗JS逻辑,直接给a标签加
target="_self",用浏览器原生跳转逻辑,不会被Google Sites嵌入框架拦截 - 把zoom类绑定到a标签,缩放效果作用于内部图片,避免a标签本身放大引发布局偏移
- 修正CSS注释闭合错误、HTML标签属性拼写错误,给a标签设置
display: block确保宽高和溢出隐藏规则生效,放大时不会破坏页面布局 - 补全图片上的过渡动画属性,放大效果更流畅
如果嵌入Google Sites后仍出现新开标签问题,检查嵌入HTML组件的沙盒设置,不要开启
允许弹窗权限,开启允许顶级导航权限即可。
内容的提问来源于stack exchange,提问作者user1549124
相关产品推荐
相关产品推荐

