【发布时间】:2020-10-20 09:07:45
【问题描述】:
手动删除编写不佳网站的网页 html 元素是我能够绕过大多数网站限制的一种方法。我还需要在不注销用户的情况下进行此类限制,以限制入侵者。
我想做的事情:我想在一段时间不活动后注销用户,但由于未保存的数据可能会在此过程中丢失,我想使用用于锁定屏幕并询问密码而不重定向到登录屏幕的模式对话框 这是下面的图片,说明了我的意思:-
我想知道完成后浏览器是否触发了事件。我在一个网站上看到,一旦你检查浏览器页面(打开浏览器后端),它就会崩溃页面,当浏览器后端关闭时它会重新加载。我没有要显示的代码,因为我没有看到任何可以解决此问题的代码。
编辑:- 我终于找到了一个代码,它可以做一些我想要的,但我会满足于一个实际的事件,而不是无限的时间来检查它是否打开。
var element = new Image;
var devtoolsOpen = false;
element.__defineGetter__("id", function() {
devtoolsOpen = true; // This only executes when devtools is open.
});
setInterval(function() {
devtoolsOpen = false;
console.log(element);
document.getElementById('output').innerHTML += (devtoolsOpen ? "dev tools is open\n" : "dev tools is closed\n");
}, 1000);
【问题讨论】:
-
当您使用浏览器的开发者工具删除元素时,不会触发任何事件。请告知我们您的总体目标。它可以帮助我们正确理解您的要求,我们可以尝试为您提供合适的建议。
-
我想在一段时间不活动后注销用户,但由于未保存的数据可能会在此过程中丢失,我想使用模式对话框锁定屏幕并请求无需重定向到登录屏幕的密码。
-
不确定您的新需求与您之前提到的删除事件有何关联。在这种情况下,您可以尝试将数据临时存储在本地存储或会话中,或者您可以尝试使用您的逻辑保存数据,然后注销用户。
-
新的要求也很棒,但是如果浏览器中的元素永远不会被篡改那就更棒了,这将是唯一因为只有当函数应该开火。使用无限 setInterval 似乎会导致性能问题。
标签: javascript google-chrome internet-explorer firefox browser