【发布时间】:2013-09-12 20:50:06
【问题描述】:
出于可访问性的原因,对于我的 Chrome 扩展程序,我需要能够将所有标准的window.onbeforeunload 弹出窗口替换为页内 HTML 替代品。我知道如何创建一个替代骨架,这很简单。
我知道这里的基本思想是window.onbeforeunload = {my substitute code}。
我不知道该怎么做是从页面发出的每个确认窗口中获取文本和代码,并将其引导到我的替代品中,以便显示与原始弹出窗口中相同的消息并单击我的替代 confirm 和 leave page(或其他)按钮产生与原始弹出窗口相同的结果。
如何做到这一点?
示例:
你安装了我的扩展(不要问它的目的是什么,无关紧要)。
您开始在 StackOverflow 上写一个问题,然后意识到您已经知道答案并关闭标签。
通常会出现一个确认窗口,询问您是否确定要离开该页面。
但是由于我的扩展,整个页面的 HTML 被向下推了一下,以便为临时 HTML 确认框腾出空间,显示相同的文本和相同的两个按钮,单击时会产生相同的两个结果,所有页内。没有弹出窗口。
【问题讨论】:
-
那不是
window.confirm();那是浏览器的beforeunload处理程序。我认为你不能轻易覆盖它。 -
嗯...这是有问题的。
-
只是出于好奇,你想做什么?
-
@putvande 语音控制。
标签: javascript jquery google-chrome google-chrome-extension