gpt4 book ai didi

javascript - iFrame 验证

转载 作者:行者123 更新时间:2023-11-30 06:09:18 25 4
gpt4 key购买 nike

我目前在我的主页中有一个 iframe,其中有许多复选框需要在离开 iframe 之前进行操作。即,如果用户开始检查复选框并在中途通过他们然后在主页上单击返回,即离开 iframe,我希望能够捕获/验证他们已经离开 iframe 并提示他们一条消息指示这个,用“注意:您将丢失此处输入的所有数据 - 离开:是/否?”输入消息。

最佳答案

Prompting a User to Save When Leaving a Page .这篇 4guys 文章听起来正是您所需要的。它讨论了 onbeforeunload 事件。有一些很棒的posts在 stackoverflow 上也有关于 onbeforeunload 的内容。


看来 onbeforeunload 确实不会为 iframe 触发。 SCSS !

下面是一些应该可以正常工作的示例代码。这仅在您位于同一域中时才有效,否则 same origin policy将阻止 iframe 与父级对话。

我也没有在许多浏览器中测试过这些,所以 YMMV

这里有两个选项,具体取决于您希望将更改逻辑提示放在何处。

选项一涉及 iframe 在发生更改时通知父窗口。

父窗口javascript:

    window.onbeforeunload=closeIt;
var changes = false;
function closeIt()
{
if (changes)
{
return "Yo, changes, save 'em?";
}
}
function somethingChanged() {
changes=true;
};

iframe javascript:

    $(function() {
$('input').change(parent.somethingChanged);
});

选项二涉及 iframe 控制父窗口的 onbeforeunload

父窗口 javascript:

没有 :-)

iframe javascript:

    $(function() {
parent.window.onbeforeunload = myCloseIt;
$('input').change(somethingChanged);
});
var changes = false;
function myCloseIt()
{
if (changes)
{
return "Yo, changes, save 'em?";
}
}
function somethingChanged() {
changes=true;
};

在任何一个选项中,原始的 changes 变量都可以加强一点,可能使用 4guys 文章中的技术,看看是否真的有任何变化。 p>


如果它们在不同的域中,但您仍然负责 HTML 的“两面”,那么仍然有一些选择,它们只是更难。

xssinterface是一个使用 postMessage 和位置哈希和 secret 巫毒魔法来跨站点通信的库。

关于javascript - iFrame 验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1052677/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com