web网页调用本地客户端程序的方法

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了web网页调用本地客户端程序的方法相关的知识,希望对你有一定的参考价值。

参考技术A 1.使用记事本(或其他文本编辑器)创建一个protocal.reg文件(.reg后缀的执行文件),并写入以下内容

Windows Registry Editor Version5.00[HKEY_CLASSES_ROOT\myWebshell]

@="URL:myWebshell Protocol Handler""URL Protocol"=""[HKEY_CLASSES_ROOT\myWebshell\DefaultIcon]

@="D:\\Program Files (x86)\\Tencent\\TIM\\Bin\\QQScLauncher.exe"[HKEY_CLASSES_ROOT\myWebshell\shell]

[HKEY_CLASSES_ROOT\myWebshell\shell\open]

[HKEY_CLASSES_ROOT\myWebshell\shell\open\command]

@="\"D:\\Program Files (x86)\\Tencent\\TIM\\Bin\\QQScLauncher.exe\" \"%1\""

2. 修改参数

使用记事本打开文件后,按照下图说明修改相关参数

2.1修改连接名称

修改红框内名称自定义即可,全部使用英文字符(该名称即为调用时的href),共六处

2.2修改可执行文件路径

修改红框内可执行文件路径,共两处,需注意: 文件路径中使用//分割

3. 执行protocal.reg文件

4. 创建调用连接

连接地址为 步骤1中所命名的链接名称,后面加://hello,(hello为传递参数,可任意添加)

5.查看效果

通用网页流量记录工具

背景介绍:

1、现有JSP , PHP 等多个语言WEB程序正在运行,并且各个程序没有共同的日子处理方法;

2、希望能够为各个程序提供统一的日子信息记录接口

3、希望记录定制的个人信息+浏览信息+客户端信息+服务端信息

4、日志记录表格数据统计

 

实现方式:

1、制作一个WEB应用的API接口接受前台提供指定参数信息

2、API接口程序添加一个本地的JS文件来调用接口实现数据信息保存

3、所有同网络环境下的web程序提供指定的参数体信息,并调用API接口程序的JS文件即可

 

内容描述:

数据存储、

 

SQL> desc rank_loging;

Name         Type           Nullable Default Comments

------------ -------------- -------- ------- --------

ID           VARCHAR2(255)  Y                         

NAME         VARCHAR2(255)  Y                         

TITLE        VARCHAR2(255)  Y                         

IP           VARCHAR2(255)  Y                         

MACHINE_NAME VARCHAR2(255)  Y                         

URL          VARCHAR2(255)  Y                         

BOWSER       VARCHAR2(255)  Y                         

COUNTY_CODE  VARCHAR2(255)  Y                         

USER_ID      VARCHAR2(255)  Y                         

USER_NAME    VARCHAR2(255)  Y                         

BILL_ID      VARCHAR2(255)  Y                         

USER_AUTH    VARCHAR2(3000) Y                         

EXT          VARCHAR2(3000) Y                         

CREATE_DATE  VARCHAR2(255)  Y

 

web主体代码:

public function index()

    //ip 域 等等

    $sys_protocal = isset($_SERVER[‘SERVER_PORT‘]) && $_SERVER[‘SERVER_PORT‘] == ‘443‘ ? ‘https://‘ : ‘http://‘;

    $php_self = $_SERVER[‘PHP_SELF‘] ? $_SERVER[‘PHP_SELF‘] : $_SERVER[‘SCRIPT_NAME‘];

    $path_info = isset($_SERVER[‘PATH_INFO‘]) ? $_SERVER[‘PATH_INFO‘] : ‘‘;

    $relate_url = $sys_protocal.(isset($_SERVER[‘HTTP_HOST‘]) ? $_SERVER[‘HTTP_HOST‘] : ‘‘).$php_self;

    // self::f_print(‘sys_protocal‘,$sys_protocal);

    // self::f_print(‘php_self‘,$php_self);

    // self::f_print(‘path_info‘,$path_info);

    // self::f_print(‘relate_url‘,$relate_url);

    // self::f_print(‘url‘,$sys_protocal.(isset($_SERVER[‘HTTP_HOST‘]) ? $_SERVER[‘HTTP_HOST‘] : ‘‘).$relate_url);

    // self::f_print(‘server_name‘,$_SERVER[‘SERVER_NAME‘]);

 

    //机器名

    $mname =  gethostbyaddr($_SERVER[‘REMOTE_ADDR‘]);

    // self::f_print(‘mname‘,$mname);

 

    //浏览器类型

    $bowser = parent::get_browser();

    // self::f_print(‘bowser‘,$bowser);

 

    //页面标题

    // self::f_print(‘title‘,$s);

 

    $m = M(‘loging‘);

    $data[‘id‘]=date(‘ymdhis‘).rand(10000,99999);

    $name = I(‘name‘);

    $data[‘name‘]=$name;

    $title = I(‘title‘);

    $data[‘title‘]=$title;

    $data[‘ip‘] = $_SERVER[‘REMOTE_ADDR‘];

    $data[‘machine_name‘] = $mname;

    $url = I(‘url‘);

    $data[‘url‘] = $url;

    $county_code = I(‘county_code‘);

    $data[‘county_code‘] = $county_code;

    $user_id = I(‘user_id‘);

    $data[‘user_id‘] = $user_id;

    $user_name = I(‘user_name‘);

    $data[‘user_name‘] = $user_name;

    $bill_id = I(‘bill_id‘);

    $data[‘bill_id‘] =  $bill_id;

    $ext = I(‘ext‘);

    $data[‘ext‘] =  $ext;

    $bInfo = I(‘bInfo‘);

    $data[‘bowser‘]=empty($bowser)?$bInfo:$bowser;

 

    // $data[‘user_auth‘] = I(‘user_auth‘);

    $data[‘create_date‘] = date(‘Y-m-d H:i:s‘);

    $m->add($data);

    // echo date(‘Y-m-d H:i:s‘).‘日志记录‘;

    die;



 

 

 

JS代码内容:

//1: 引入jquery -->

//2: 定义常规信息 -->

// var brow=$.browser;

var bInfo="";

// if(brow.msie) bInfo="Microsoft Internet Explorer "+brow.version;

// if(brow.mozilla) bInfo="Mozilla Firefox "+brow.version;

// if(brow.safari) bInfo="Apple Safari "+brow.version;

// if(brow.opera) bInfo="Opera "+brow.version;

 

var log = $.extend(

     name          : ‘‘,                           //项目名称

     title          : $(document).attr(‘title‘), //当前页面名称

     county_code : "",                           //县市编号

     user_id      : "",                           //用户编号

     bill_id      : "",                           //手机号码

     user_name      : "",                           //用户姓名

     url          : location.href,               //当前访问地址

     ext          : ‘‘,                        //拓展信息    

     bInfo          : bInfo                       //浏览器信息

,logInfo);

 

//3: 日志记录 -->

$.ajax(

    type:‘get‘,

    url:‘http://10.78.1.85:9000/logging‘,

    data:name:log.name,title:log.title,county_code:log.county_code,user_id:log.user_id,bill_id:log.bill_id,user_name:log.user_name,url:log.url,ext:log.ext,bInfo:log.bInfo,

    dataType:‘jsonp‘,

    success:function(re)

);

 

 

 

WEB程序调用接口

  

<script type="text/javascript">

    <!--1: 引入jquery -->

    <!--2: 定义常规信息 -->

    var logInfo = 

         name          : ‘成长积分平台‘, //项目名称

         title          : $(document).attr(‘title‘), //当前页面名称

         county_code : "$_SESSION[‘user_auth‘][‘COUNTY_CODE‘]", //县市编号

         user_id      : "$_SESSION[‘user_auth‘][‘OPER_ID‘]", //用户编号

         bill_id      : "$_SESSION[‘user_auth‘][‘OPER_LOGIN_CODE‘]", //手机号码

         user_name      : "$_SESSION[‘user_auth‘][‘OPER_NAME‘]", //用户姓名

         url          : location.href, //当前访问地址

         ext          : ‘‘,  //拓展信息    

         bInfo          : ‘‘   //浏览器信息

    

    </script>
<script type="text/javascript" src="http://10.78.1.85:9000/logging/public/logUtil.js"></script>

 

以上是关于web网页调用本地客户端程序的方法的主要内容,如果未能解决你的问题,请参考以下文章

第45篇 js操作打开本地程序

web 不用ocx怎么调用本地dll

如何在web页面上获取客户端的串口数据

如何通过 JavaScript 从服务器端的网页调用客户端 C# 程序函数?

在本地使用React调用Java方法

Js如何调用本地应用程序