关闭另一个应用程序显示的警报

时间:2014-12-30 14:02:54

标签: javascript internet-explorer alert

我的问题似乎有些模糊,但我不确定如何解决它。

我们的办公室运行无头机器,即打印服务器,通过第三方软件连接。我遇到的问题是,如果由于某种原因,系统与主机服务器断开连接,通过我们的终端或他们的连接问题,将出现一个警告对话框,打印将停止,直到对话框被解雇了。

应用程序通过Internet Explorer运行,并显示以下对话框。

enter image description here

我最初尝试使用Java,并Robot盲目地点击okay按钮,但问题是对话框每次都会出现在不同的地方,有时如果不立即解除,则会多次显示该消息,盲目点击屏幕坐标将无效。

enter image description here

我的下一个想法是搜索PID,并按名称或PID终止每条消息,但因为它是Internet Explorer应用程序,这是不可能的。

enter image description here

有关如何自动或通过外部信号盲目地忽略这些消息的任何想法?

修改

我已确定该对话框是使用JavaScript创建的,现在我对问题进行了更改,如何解除此alert()来电?我已经读过使用JavaScript,你不能忽略这个消息,但是有没有办法注入一个自定义脚本来覆盖调用警报?

即一个覆盖系统警报的死函数?

function alert(){
    // do nothing
}

如何将此附加到已加载的页面??

1 个答案:

答案 0 :(得分:1)

我想你无法访问打印服务器应用程序的源代码,所以最好的方法是添加一个包含覆盖警报的javascript代码的书签。

bookmarklet基本上是在Web浏览器中存储为书签的一段代码

要创建书签,请打开记事本并使用以下内容创建HTML页面:

<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <title></title>
</head>
<body>
  <a id="codeOut" href="javascript:(function(){ window.alert = function(){};})();">Your Bookmarklet</a>
</body>
</html>

将文件另存为&#34; Bookmarklet.html&#34;

使用Internet Explorer

打开文件

右键点击&#34;您的书签&#34;超链接,选择&#34;添加到收藏夹&#34;并给它一个名字

加载应用程序并添加书签后,在IE中选择收藏夹 - &gt;&#34;书签的名称&#34;