
java怎么调用火狐浏览器来实现系统消息通知
谢谢大牛们的积极援助,表示灰常感谢 展开
您说的那种每隔一段时间自动查询可以称之为主动请求,这样的功能与一般的js执行不存在任何区别,您利用js提示框即可实现该需求。(可以利用jquery的弹窗组件)。但是因为浏览器安全机制的问题,您的js是无法驱动到浏览器API的消息提示的,而java作为动态语言,在此模式下运行于服务器端,对于驱动客户端就更加是无能为力了。要想实现您的需求,您还可以考虑采用长轮询的方式,此模式相对于您这样的自动循环理论上对于服务器的负载压力稍小。
希望我的回答对您有所帮助,如有疑问,欢迎继续咨询我们。
您好,虽然问题得到解决了,但是我对您说的这种方式也很好奇,能说明一下长轮询的方式是什么吗
这方面内容展开说就多了,给你复制点资料吧!比较的是HTTP协议下的几种及时交互实现机制的优缺点。
轮询:客户端定时向服务器发送Ajax请求,服务器接到请求后马上返回响应信息并关闭连接。
优点:后端程序编写比较容易。
缺点:请求中有大半是无用,浪费带宽和服务器资源。
实例:适于小型应用。
长轮询:客户端向服务器发送Ajax请求,服务器接到请求后hold住连接,直到有新消息才返回响应信息并关闭连接,客户端处理完响应信息后再向服务器发送新的请求。
优点:在无消息的情况下不会频繁的请求,耗费资源小。
缺点:服务器hold连接会消耗资源,返回数据顺序无保证,难于管理维护。
实例:WebQQ、Hi网页版、Facebook IM。
长连接:在页面里嵌入一个隐蔵iframe,将这个隐蔵iframe的src属性设为对一个长连接的请求或是采用xhr请求,服务器端就能源源不断地往客户端输入数据。
优点:消息即时到达,不发无用请求;管理起来也相对方便。
缺点:服务器维护一个长连接会增加开销。
实例:Gmail聊天
Flash Socket:在页面中内嵌入一个使用了Socket类的 Flash 程序JavaScript通过调用此Flash程序提供的Socket接口与服务器端的Socket接口进行通信,JavaScript在收到服务器端传送的信息后控制页面的显示。
优点:实现真正的即时通信,而不是伪即时。
缺点:客户端必须安装Flash插件;非HTTP协议,无法自动穿越防火墙。
实例:网络互动游戏。
更多内容请移步阅读:Web 通信 之 长连接、长轮询(long polling)
浏览器通知功能是内部实现的,通过java没办法调用。 只能通过js
js的代码:
function notifyMe() {
if (!("Notification" in window)) {
alert("This browser does not support desktop notification");
}
else if (Notification.permission === "granted") {
var notification = new Notification("Hi there!");
}
// Otherwise, we need to ask the user for permission
// Note, Chrome does not implement the permission static property
// So we have to check for NOT 'denied' instead of 'default'
else if (Notification.permission !== 'denied') {
Notification.requestPermission(function (permission) {
// Whatever the user answers, we make sure we store the information
if(!('permission' in Notification)) {
Notification.permission = permission;
}
// If the user is okay, let's create a notification
if (permission === "granted") {
var notification = new Notification("Hi there!");
}
});
}
// At last, if the user already denied any notification, and you
// want to be respectful there is no need to bother him any more.
}
html
<button onclick="notifyMe()">Notify me!</button>