javascript - 单击警报框中的按钮或覆盖 window.alert()?

标签 javascript html

我有一个 Web 应用程序窗口,需要多次按下按钮来删除某些内容(通过使用 getElementbyClassName()[i] 选择按钮,可以使用 JS 轻松单击该按钮)。但每次点击后我都必须手动按下 window.alert("Are you certain?"); 上的“确定”按钮框。

我无法更改网站机制,因为我不是所有者或开发人员。但我希望能够以某种方式使这些东西自动化。

我用来点击元素的JS:

var el = document.getElementsByClassName('ruleAddButton');
for (var i = 0; i < el.length; i++) {
    el[i].click();
}

最佳答案

由于警报只是向用户显示信息(您无法从警报中获取用户输入),因此我认为您可能想以这种方式猴子修补确认功能:

var originalConfirm = window.confirm;
window.confirm = function(msg) {
  if (msg.match(/Are you sure/) {
    // this confirm should return always true
    return true;
  } else {
    // we want other confirms works as normal
    return originalConfirm.bind(window)(msg);
  }
}

以防万一,我会对警报功能执行相同的技巧

var originalAlert = window.alert;
window.alert = function(msg) {
  if (msg.match(/Are you sure/) {
    // this is what alert always returns after user clicks OK
    return undefined;
  } else {
    // we want other alerts works as normal
    return originalAlert.bind(window)(msg);
  }
}

编辑

此外,您可以执行一些简单的操作,例如:

window.confirm = function() { return true; };

但在这种情况下,请注意所有确认调用都将被拦截

关于javascript - 单击警报框中的按钮或覆盖 window.alert()?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25850122/

相关文章:

javascript - 将嵌套 JSON 展平为不带索引的唯一对象数组

javascript - 自动滑出导航加载?

javascript - 在单击之前禁用 iframe 上的滚动?

javascript - jQuery 插件 - 初始化后更新元素

html - 来自较低文件夹的图像链接不起作用

javascript - ko.dependentObservable 这个方法如何巧妙地理解依赖关系?

javascript - indexOf 函数的语法如何工作?

javascript - 从一个 Controller 获取 $scope 到模态 Controller

html - 如何使用CSS将div高度扩展到底部?

javascript - 在 View 更改时 react JS 本地存储更新