我的问题似乎有些模糊,但我不确定如何解决它。
我们的办公室运行无头机器,即打印服务器,通过第三方软件连接。我遇到的问题是,如果由于某种原因,系统与主机服务器断开连接,通过我们的终端或他们的连接问题,将出现一个警告对话框,打印将停止,直到对话框被解雇了。
应用程序通过Internet Explorer运行,并显示以下对话框。
我最初尝试使用Java,并Robot
盲目地点击okay按钮,但问题是对话框每次都会出现在不同的地方,有时如果不立即解除,则会多次显示该消息,盲目点击屏幕坐标将无效。
我的下一个想法是搜索PID,并按名称或PID终止每条消息,但因为它是Internet Explorer应用程序,这是不可能的。
有关如何自动或通过外部信号盲目地忽略这些消息的任何想法?
修改
我已确定该对话框是使用JavaScript
创建的,现在我对问题进行了更改,如何解除此alert()
来电?我已经读过使用JavaScript,你不能忽略这个消息,但是有没有办法注入一个自定义脚本来覆盖调用警报?
即一个覆盖系统警报的死函数?
function alert(){
// do nothing
}
如何将此附加到已加载的页面??
答案 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;