是否可实现Google翻译iframe封装页面的便捷退出操作?
Google翻译跳转页的便捷返回实现方案
先讲清楚根本限制
- 浏览器的安全机制卡得很死:
window.close()只允许关掉「当前页面里的脚本通过window.open()主动弹出来的标签页」。 - 你现在的跳转逻辑是放普通链接让用户点,新开标签页加载Google翻译的中转页,这种用户手动点出来的标签页,页面里的脚本压根没有权限直接关。就算你把
window.close()绑在按钮上,点了也不会真的关标签页,最多控制台弹个权限不足的警告。
能真正落地的实现方式
- 直接在原站的页面(也就是被Google翻译包在iframe里的那部分内容)里加个固定悬浮的「返回原站」按钮
Google翻译的iframe是嵌在它自己域名下的,你原站的内容在iframe域名下完全可控,按钮逻辑直接跳回原站对应路径就行,没有跨域限制。用户点了就能直接回到原站浏览,根本不用抬手去点浏览器顶部的标签关闭按钮。 - 靠历史栈实现和关标签页差不多的体验
新开的标签页第一次加载Google翻译链接的时候,页内是没有更早的浏览记录的。给返回按钮绑上window.history.back()逻辑,浏览器会自动把导航指回用户点翻译链接之前停留的原站页面,交互感知和直接关掉翻译标签页几乎没区别。 - 做个兼容兜底就行
按钮点击的时候先试一下调用window.close(),如果触发了权限报错,就自动降级成跳回原站的逻辑,不管什么浏览器都能正常跑。
内容的提问来源于stack exchange,提问作者alnorth29
相关产品推荐
相关产品推荐

