使用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誤殺。服務器

相關文章
相關標籤/搜索