HTML窗口弹出窗口和iPad的正确降级

HTML window popup and proper degrade for iPad

本文关键字:窗口 降级 HTML iPad      更新时间:2023-09-26

我有一个"测验"网站,其中显示了测验列表,每个链接都会打开一个可爱的小测验的弹出窗口:

<a href="quizzes/stable-tachycardia.htm" target="_blank">Start quiz &raquo;</a>

在桌面上,我可以使用以下命令让用户返回到测验列表:

<a onClick="window.close()" href="#">Return to quizzes</a>

这种方法有几个问题,我想要更好的东西:

  1. 如果用户通过target="_blank"链接到达此页面,则"返回"链接应使用window.close让他们回到他们开始的地方
  2. 如果用户代理忽略iPad/Chrome等target="_blank",则"返回"链接应执行指向quizzes/index.htm的正常超链接
  3. 如果用户通过直接链接进入quizzes/stable-tachycardia.htm,则"返回"链接应执行正常的超链接

是否有涵盖每个用例的好解决方案?

我会让它链接到一个检查是否存在window.parent的 JavaScript 函数。 如果父窗口存在,请在父窗口中打开所需的 URL 并关闭当前窗口。 如果没有父级,只需在当前窗口中打开 URL。