使用ActiveX控件打开IE浏览器

        事情是这样的,客户让作一个单点登陆的功能,可是另外一个系统和咱们公司的系统部署在同一个服务器上,致使在同一个浏览器使用JS原生代码window.open(url);打开该浏览器的新标签页,会致使咱们的系统登录session被篡改(推测多是同一个key吧,设计系统的人真是蛋疼,就不会加上公司缩写嘛),致使被踢下线。javascript

        而通过测试,打开其余浏览器单点登陆后,就不会把本系统的登录信息注销,由于不一样的浏览器的session就不同,固然cookie也是同理。html

        解决思路:java

        在本浏览器中打开其余浏览器,因JS只能在浏览器中调用,因此只能使用ActiveX控件,但ActiveX控件只能在IE内核的浏览器中使用(毕竟是微软亲儿子),在谷歌浏览器不适用,苹果的safari浏览器没试过,应该也不行,由于ActiveX控件是调用windows系统的运行功能(win + R),这个要和客户协商好。shell

        解决方法:windows

        话很少说,上代码:浏览器

<!DOCTYPE html>
<html>
<head>
<title>使用ActiveX打开其余浏览器</title>
</head>
<body>
<button type="button" onclick="openIE();">打开IE浏览器</button>

<script type="text/javascript">
function openIE(){
	var myShell = new ActiveXObject("wscript.shell");
	var cmd = 'C:\\Program Files\\Internet Explorer\\iexplore.exe http://www.baidu.com';
	prompt('cmd', cmd);
	myShell.exec(cmd);
	myShell = null;
}
</script>
</body>
</html>

// 最后说一下,这个HTML文件容易被360误杀。服务器

相关文章
相关标签/搜索