900字范文,内容丰富有趣,生活中的好帮手!
900字范文 > java跳转到ie_ie跳转chrome(ie浏览器点击链接跳转谷歌浏览器)

java跳转到ie_ie跳转chrome(ie浏览器点击链接跳转谷歌浏览器)

时间:2022-02-18 08:36:06

相关推荐

java跳转到ie_ie跳转chrome(ie浏览器点击链接跳转谷歌浏览器)

一、介绍

客户有个两个系统,系统一兼容IE,系统二兼容谷歌,需要实现系统的单点登录,从系统一进入系统二,也就是从IE跳转谷歌打开系统二。

实现方案:客户机开放一个nodejs服务,将请求进行转发,使用nodejs的child_process 组件启动谷歌浏览器访问目标链接。

二、准备工作

安装nodejs,根据操作系统的版本选择安装包,安装过程不再赘述。

/download/

安装完成,测试:

三、新建文件 ie2chrome.js (一定是在英文路径下),文件内容编码格式为 utf-8

var http = require('http');

var open = require('open');

var url = require('url');

var cp = require('child_process');

http.createServer(function (request, response) {

//编码设置

response.writeHead(200, {'Content-Type': 'text/plain;charset=utf-8'});

//获取get请求中的参数

var requset_url = request.url;

//将字符串格式参数转化为对象使用

var param = url.parse(requset_url,true).query

//跳转的页面

var redirect_uri = 'start chrome ?userId='+param.userId;

//谷歌浏览器打开,需反编译

//open(decodeURIComponent(redirect_uri), "chrome");

//cp.exec('start chrome ')

cp.exec(redirect_uri);

// 发送响应数据 "Hello World"

response.end('祝您工作愉快~已跳转其他页面打开系统。\n');

}).listen(8888);

// 终端打印如下信息

console.log('Server running at http://127.0.0.1:8888/');

四、安装 child_process 组件

执行npm install child_process ,安装默认路径一般是 (C:\Users\w\node_modules) 路径中根据用户名不一样不一样

从已安装过的文件中复制出来和ie2chrome.js 放到同级

五、测试

打开命令窗口执行:

如果报错可以设置一下环境变量:NODE_PATH=E:\workspace\ie2chrome\node_modules

访问:http://localhost:8888/?userId=aaaa

六、设置为系统自动启动,我尝试过注册为系统服务,但是无法启动谷歌,没找到原因,这里改成设置系统启动项,开机自动启动服务

新建 run.vbs

Set ws = CreateObject("Wscript.Shell")

ws.run "cmd /c node ie2chrome.js",vbhide

新建 run.bat

@echo off

set NODE_PATH=%~dp0\node_modules

::执行

start "" %~dp0\"run.vbs"

::执行完命令后关闭cmd命令窗口

taskkill /f /im cmd.exe

exit

测试:双击运行 run.bat 一闪而过

打开任务管理器

访问:http://localhost:8888/?userId=aaaa

run.bat 右键创建快捷方式,把创建好的快捷方式剪切放到目录下(不同电脑路径可能不同):

C:\Users\w\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup 。

开始-》运行 输入:msconfig 查看启动项:

重启电脑,访问:http://localhost:8888/?userId=aaaa

如果报错,尝试如下解决方案,再重新创建快捷方式,复制到启动项

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。