gpt4 book ai didi

javascript - 添加到父 iframe(body) 的单击事件在子 iframe(body) 中不起作用

转载 作者:行者123 更新时间:2023-12-03 04:41:11 25 4
gpt4 key购买 nike

我有一个要求,我需要检测网页的不活动状态,如果用户不活动超过 15 分钟,则应注销用户。为此,我尝试通过将单击/按键事件附加到来检测用户的不活动状态整个页面以及主 iframe。

这里的问题是我能够检测主页(主 iframe)上的按键/单击事件,但无论 showDialoge(另一个 iframe),我都无法检测到此事件。尽管此事件被添加到主 iframe 的主体以及整个网页,但不知何故我无法检测到相同的事件。请帮忙。

我正在使用 OpenText Cordys 框架 XFORMs/JavaScript

目前没有jquery,但如果需要我可以使用。

最佳答案

如果您的文件位于同一服务器上,您可以从子 iframe 调用父窗口的函数,例如

父级.html

<script>
window.whichKey = function(keycode) {
console.log("I'm called from child frame, you pressed " + keycode);
}
</script>

child.html

<script>
window.onkeypress = function(event) {
window.parent.window.whichKey(event.keyCode);
}
</script>

针对您的情况的另一个可能的解决方案是从子 iframe 传递父级 url 中的变量。例如 window.top.location.href = "parent.html?inactive=true"; 并且在父窗口中您可以检查此变量并执行所需的操作。

这是如何将事件从父框架的主体绑定(bind)到子框架的主体,以使用 jQuery 监听keypress

$("#child-frame").bind("load", function(){
$(this).contents().find("body").on('keypress', function(e) {
console.log(e.keyCode);
});
});

关于javascript - 添加到父 iframe(body) 的单击事件在子 iframe(body) 中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43082963/

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