spi*_*ike 6 html javascript safari
我有一个使用 AJAX 提交的表单(只有一个文本区域),以允许用户保存有关页面的注释。表单始终在页面上保持可见,您可以不断单击保存以不断更新笔记。
在 safari(但不是 chrome 或 FF)中,如果您开始在表单中输入并点击重新加载,浏览器会提示您“是否确定要重新加载,您有未保存的更改”类型对话框。我的问题是,如果您保存笔记,然后点击重新加载而不对文本区域进行任何进一步更改,该对话框也会弹出。javascript 中有什么方法可以让我将表单标记为已提交 // 未更改,以便 safari 知道不显示提示?
我不太确定 safari,但您可以通过以下方式在所有浏览器中实现此行为:
var confirmLeavePage = "Are you sure you want to exit this page, you have unsaved changes..."
window.onbeforeunload = askConfirm;
function askConfirm(){
if (confirmLeavePage != false){
return confirmLeavePage;
}
}
Run Code Online (Sandbox Code Playgroud)
那么您所要做的就是在没有对文档进行修改的情况下将confirmLeavePage 设置为false。
希望这可以帮助。