有什么解决方案我怎么能完全关闭浏览器?我需要这个,因为我在其他页面上使用单点登录,并且在该页面上写下只有关闭浏览器才会注销用户。
答案 0 :(得分:5)
您无法关闭用户浏览器,但如果您可以识别包含会话的Cookie,则可以清除它。如何执行此操作取决于您使用的语言。
在Javascript中,您将在与要清除的Cookie相同的域上运行
var expired = new Date();
expired.setTime(mydate.getTime() - 86400);
document.cookie = "my_session_cookie_name=; expires=" + expired.toGMTString();
在服务器端,您可以输出标头来设置或清除Cookie。根据用户的浏览器设置,您可以在第三方域上设置cookie。这是PHP中的一个例子
setcookie ('my_session_cookie_name', '', time() - 86400);
//clear cookie for example.com
setcookie('my_session_cookie_name', '', time()-86400, '/', '.example.com');
答案 1 :(得分:2)
不,你不能。
该页面写入只关闭浏览器将注销用户
如果您可以在正确的域(单点登录服务器的域)中运行JavaScript,我打赌您可以通过删除会话cookie来注销用户。
答案 2 :(得分:0)
不能在未经他们许可的情况下强行关闭用户的浏览器。
编辑:即使某些浏览器存在变通方法,但这是一种不好的做法,并被认为是侵入性的。
答案 3 :(得分:0)
Atleast不在Firefox中,否则将是一个很大的可用性问题。
关闭标签时删除Cookie。
答案 4 :(得分:0)
可以关闭通过javascript打开的浏览器,但由于用户打开第一个浏览器,将无法关闭所有浏览器。
你的SSO应该有某种退出功能,它会更好。此功能将清除用户cookie或清除服务器端的会话。
答案 5 :(得分:0)
如果每个SSO站点都有自己的cookie,您可能需要单独将用户从每个SSO站点中注销。希望每个站点都有自己的“登出我”URL,您可以打开一个包含多个iframe
的页面到每个SSO站点。
答案 6 :(得分:0)
您可以跨域设置它们,但是 取决于中的安全设置 浏览器,他们可能会被阻止, 可能会提示用户确认,或 他们可能会被默默接受。这里的 如何配置Firefox 阻止第三方cookie: support.mozilla.com/en-US/kb/...
我如何跨域设置它们?
答案 7 :(得分:-1)
非常简单,
只需添加javascript
<td width="10%"><div align="center"><a href="javascript:window.close() "><font color="#ffffff">Close</font></a></div></td>