【问题标题】:Is there an event fired when a Web Page element is manually deleted from the Browser?从浏览器中手动删除网页元素时是否会触发事件?
【发布时间】: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


【解决方案1】:

我终于能够利用上面的代码并使其更实用,现在我可以锁定屏幕而不会丢失文件,或者如果入侵者试图从检查元素中删除,即使页面重新加载,它们也会被阻止,它仍然处于锁定状态,提示用户仍然登录。它现在是安全的。谢谢

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-12-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多