Javascript Common Tools Class

2023-11-12

/*
Javascript Common Tools Class 
Email : Daniel.Chow.Tech@Hotmail.Com
Blog : http://www.cnblogs.com/DanielChow
*/
// 2010-2-20 update
var  Js  =   new  Object;
Js.IsDebug 
=   true ;
Js.Domain 
=   " 127.0.0.1 " ;
Js.NetUrl 
=   " http://127.0.0.1 " ;
Js.Locale 
=   " / " ;
Js.CopyRight 
=   " (C) Your.COM " ;
Js.Event 
=   new  Object;
Js.Event.add 
=   function (o, t, f) {
    
if  (o.addEventListener) {
        o.addEventListener(t, f, 
false );
    } 
else   if  (o.attachEvent) {
        o.attachEvent(
" on "   +  t, f);
    } 
else  {
        o[
" on "   +  t]  =  f;
    }
};
Js.Event.remove 
=   function (o, t, f) {
    
if  (o.removeEventListener) {
        o.removeEventListener(t, f, 
false );
    } 
else   if  (o.detachEvent) {
        o.detachEvent(
" on "   +  t, f);
    } 
else  {
        o[
" on "   +  t]  =   null ;
    }
};
/* compatible in IE6+,ff3.0,chrome,oprea */
Js.floatElement 
=   function (Id, Position) {   
    _bodyfrm 
=  (document.compatMode.toLowerCase()  ==   " css1compat " ?  document.documentElement : document.body;
    _adst 
=  document.getElementById(Id).style;_adst.position  =   " absolute " ; _intWidth  =  _adst.width.replace( " px " "" ); _intHeight  =  _adst.height.replace( " px " "" );
    _move(Position);window.onscroll 
=  window.onresize  =   function () {_move(Position);};
    
function  _move(Position) {
        
switch  (Position) {
            
case   " rightbottom " : _adst.left  =  (_bodyfrm.scrollLeft  +  _bodyfrm.clientWidth  -  _intWidth)  +   " px " ;_adst.top  =  (_bodyfrm.clientHeight  +  _bodyfrm.scrollTop  -  _intHeight)  +   " px " ; break ;
            
case   " leftbottom " : _adst.left  =   " 0px " ;_adst.top  =  (_bodyfrm.clientHeight  +  _bodyfrm.scrollTop  -  _intHeight)  +   " px " ; break ;
            
case   " righttop " : _adst.left  =  (_bodyfrm.scrollLeft  +  _bodyfrm.clientWidth  -  _intWidth)  +   " px " ;_adst.top  =  _bodyfrm.scrollTop  +   " px " break ;
            
case   " lefttop " : _adst.left  =   " 0px " ;  _adst.top  =  _bodyfrm.scrollTop  +   " px " break ;
        };
    };
};
Js.Guid 
=   function () {
    
var  guid  =   "" ;
    
for  ( var  i  =   1 ; i  <=   32 ; i ++ ) {
        
var  n  =  Math.floor(Math.random()  *   16.0 ).toString( 16 );
        guid 
+=  n;
        
if  ((i  ==   8 ||  (i  ==   12 ||  (i  ==   16 ||  (i  ==   20 ))
            guid 
+=   " - " ;
    }
    
return  guid;
};
Js.SuggestStr 
=   function (len, IsAC) {
    
// include additional characters
     var  AC  =   ' abcdefhijklmnopqrstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWYXZ~!@$^*+-|/ '
    
var  noAC  =   ' abcdefhijklmnopqrstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWYXZ '
    
function  returnStr(list, len) {
       
var  re  =   '' ;
        
for  (i  =   0 ; i  <  len; i ++ ) {
            re 
+=  list.charAt(Math.floor(Math.random()  *  list.length))
        }
        
return  re;
    }
    
return  IsAC  ?  returnStr(AC, len) : returnStr(noAC, len);
};
Js.Str2XML 
=   function (str) {
    
if  (window.ActiveXObject) {
        xmlDoc 
=   new  ActiveXObject( " Microsoft.XMLDOM " );
        xmlDoc.async 
=   " false " ;
        xmlDoc.loadXML(str);
        
return  xmlDoc;
    } 
else  {
        parser 
=   new  DOMParser();
        xmlDoc 
=  parser.parseFromString(str,  " text/xml " );
        
return  xmlDoc;
    }
};
Js.XML2Str 
=   function (xmlObject) {
    
if  (window.ActiveXObject) {
        
return  xmlObject.xml;
    } 
else  {
        
return  ( new  XMLSerializer()).serializeToString(xmlObject);
    }
};
Js.Str2Json 
=   function (str) {
   
return  eval( ' ( '   +  str  +   ' ) ' );
}
Js.ErrorHandler 
=   function (msg, url, l) {
    
// if (Js.IsDebug) {
     //     // for debug
     //     var txt = "";
     //     txt = "本页中存在错误。\n\n"
     //     txt += "错误:" + msg + "\n"
     //     txt += "URL: " + url + "\n"
     //     txt += "行:" + l + "\n\n"
     //     txt += "点击“确定”继续。\n\n"
     //     alert(txt);
     // }
     return   false ;
    
//  false , page response errors directly
     //  true , var script above to handle errors
     //  or you can save errors to server (to create logs file)
};

Js.Url 
=  {
    encode: 
function (string) {
        
return  escape( this ._utf8_encode(string));
    },
    decode: 
function (string) {
        
return   this ._utf8_decode(unescape(string));
    },
    request:
function (string)
    {
        
var  url  =  location.href;  var  paraObj  =  {};  var  paraString  =  url.substring(url.indexOf( " ? " +   1 , url.length).split( " & " );        
        
for  (i  =   0 ; j  =  paraString[i]; i ++ ) { paraObj[j.substring( 0 , j.indexOf( " = " )).toLowerCase()]  =  j.substring(j.indexOf( " = " +   1 , j.length);}
        
var  returnValue  =  paraObj[string.toLowerCase()];
        
if  ( typeof  (returnValue)  ==   " undefined " ) {  return   "" ; }  else  {  return  returnValue; }
    },
    
//  private method
    _utf8_encode:  function (string) {
        string 
=  string.replace( / \r\n / g,  " \n " );
        
var  utftext  =   "" ;
        
for  ( var  n  =   0 ; n  <  string.length; n ++ ) {
            
var  c  =  string.charCodeAt(n);
            
if  (c  <   128 ) {
                utftext 
+=  String.fromCharCode(c);
            }
            
else   if  ((c  >   127 &&  (c  <   2048 )) {
                utftext 
+=  String.fromCharCode((c  >>   6 |   192 );
                utftext 
+=  String.fromCharCode((c  &   63 |   128 );
            }
            
else  {
                utftext 
+=  String.fromCharCode((c  >>   12 |   224 );
                utftext 
+=  String.fromCharCode(((c  >>   6 &   63 |   128 );
                utftext 
+=  String.fromCharCode((c  &   63 |   128 );
            }
        }
        
return  utftext;
    },
    _utf8_decode: 
function (utftext) {
        
var  string  =   "" ;
        
var  i  =   0 ;
        
var  c  =  c1  =  c2  =   0 ;
        
while  (i  <  utftext.length) {
            c 
=  utftext.charCodeAt(i);
            
if  (c  <   128 ) {
                string 
+=  String.fromCharCode(c);
                i
++ ;
            }
            
else   if  ((c  >   191 &&  (c  <   224 )) {
                c2 
=  utftext.charCodeAt(i  +   1 );
                string 
+=  String.fromCharCode(((c  &   31 <<   6 |  (c2  &   63 ));
                i 
+=   2 ;
            }
            
else  {
                c2 
=  utftext.charCodeAt(i  +   1 );
                c3 
=  utftext.charCodeAt(i  +   2 );
                string 
+=  String.fromCharCode(((c  &   15 <<   12 |  ((c2  &   63 <<   6 |  (c3  &   63 ));
                i 
+=   3 ;
            }
        }
        
return  string;
    }
}

 

 

转载于:https://www.cnblogs.com/DanielChow/archive/2010/01/03/1638503.html

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Javascript Common Tools Class 的相关文章

  • JSP pagecontext对象的简介说明

    转自 JSP pagecontext对象的简介说明 下文笔者将讲述pagecontext对象的简介说明 如下所示 pageContext对象的简介 pageContext对象是javax servlet jsp PageContext类的实
  • 解决问题记录16:jar包冲突解决

    当项目中jar遇到冲突问题时 一般我的处理方式就是 比较冲突jar 找出冲突的地方 自己取舍排除即可
  • 实现图片验证码与手机短信验证码

    实现图片验证码与手机短信验证码 1 HTML 代码
  • git clone失败:Cloning into... fatal: unable to access... error setting certificate verify locations

    参考链接 others How to solve gnutls handshake failed error when doing git clone from github com Errors Cloning into GlobalTr
  • Spring5框架新功能

    文章目录 Spring5框架新功能 Spring5框架新功能 1 整个Spring5框架的代码基于java8 运行时兼容JDK9 许多不建议使用的类和方法在代码库中删除 2 Spring5框架自带了通用的日志封装 1 Spring5已经移除
  • ant design pro开发环境搭建

    命令行窗口使用管理员身份打开 以免出现其他不可意料的错误 npm create umi 2 依次选择 gt ant design pro gt Prov4 gt TypeScript gt simple gt antd 4 3 npm in
  • 刷脸支付服务商巧借东风顺势而为

    银行可以从自身占优势的园区场景切入 区别于支付宝和微信市场策略 差异化的快速占领市场 我们通常说的园区 包括了校园 景区 办公楼 以及各类工业园区和行政园区 前期这块市场主要都是由传统银行作为收单机构提供服务 疫情过后 整体刷脸支付将再起步
  • 2022年浙江省中职组“网络空间安全”编码信息获取

    什么是wireshark wiresharek wire0078 pcap数据包 wiresharek Wireshark 前称Ethereal 是一个网络封包分析软件 网络封包分析软件的功能是检索取网络封包 并同时显示出最详细的网络封包数
  • 图像算法工程师常考的面试问题附回答

    什么是图像滤波 介绍一下常用的图像滤波器有哪些 什么是卷积神经网络 CNN 它的结构是什么样的 为什么在图像处理中表现出色 什么是图像分割 介绍一下图像分割的方法和应用场景 什么是图像匹配 介绍一下图像匹配的方法和应用场景 什么是直方图均衡
  • 算法提高 最长滑雪道(动态规划 + Dfs)

    试题 算法提高 最长滑雪道 资源限制 时间限制 1 0s 内存限制 256 0MB 问题描述 小袁非常喜欢滑雪 因为滑雪很刺激 为了获得速度 滑的区域必须向下倾斜 而且当你滑到坡底 你不得不再次走上坡或者等待升降机来载你 小袁想知道在某个区
  • linux下解决bash: syntax error near unexpected token `(' 的错误

    linux下解决bash syntax error near unexpected token 的错误 1 只需加上 就行 转义括号为可读 2 在括号两端加上 双引号 如 1 rm f HIBIKI API 1 jarrm f HIBIKI
  • unity中脚本添加不了的原因及解决方案

    1 删除挂不上去的脚本 重新添加这个脚本 2 看看有没有其他的脚本编译错误 有的话修改其他脚本 3 检测脚本 名字与雷明是否一致 不一致的话修改类名 使得脚本与类名一致 4 重启下unity的编辑器 有时候unity会卡顿 需要重新启动
  • 电路初级基本原理总结

    电路初级基本原理总结 电荷 正电荷和负电荷 带了电 荷 摩擦过的物体有了吸引物体的轻小物体的性质 电荷间的相互作用规律 同种电荷相互排斥 异种电荷相互吸引 元电荷 e 一个电子所带的电荷量 e 1 6 10 19 C 电荷量 电荷的多少 单
  • Ubuntu 安装docker、docker-compose

    一 更新Ubuntu源 本文章更新阿里云源 可跳过 1 备份原始源 sudo cp etc apt source list etc apt source list backup 2 修改源文件 sudo vim etc apt source
  • SQL数据库权限管理-10个数据库角色

    为便于管理数据库中的权限 SQL 数据库提供了服务器角色 数据库角色 用户等来划分不同用户拥有的权限差异 今天给大家介绍数据库角色对应的权限 数据库级角色 存在两种类型的数据库级角色 数据库中预定义的 固定数据库角色 可以创建的 用户定义的
  • 区分Java中的Iterable与Iterator接口

    Java中的Iterable与Iterator详解 在Java中 我们可以对List集合进行如下几种方式的遍历 List
  • Python语言基础-变量与表达式

    Python语言基础 变量与表达式 Python是一门简单而强大的编程语言 在学习Python的过程中 了解和掌握变量与表达式的概念是至关重要的 本文将介绍Python中的变量的定义和使用 各种基本数据类型以及常见的运算符和表达式 一 变量
  • 灌区量测水监测系统解决方案

    一 方案背景 我国是个水资源极其匮乏的国家 且农业用水一直是我国的耗水大户 占全部耗水总量的60 以上 这其中灌溉用水又占农业用水 90 左右 传统的农业灌溉过程存在着巨大的水资源滥用与浪费 目前我国的灌溉水有效利用系数仅为0 53 意味着
  • 文件的纵向合并

    在进行数据最初处理我们需要合并多个excel文件 1 将文件夹中的excel文件都转换成dt文件格式 clear cd Users chenyaxin Desktop corporate bonds data fs xlsx local i
  • 股票数据爬取:使用Python爬取股票的实时价格和历史交易数据

    目录 前言 1 股票数据爬虫概述 2 环境准备 3 分析目标股票网站

随机推荐

  • Kubernetes核心概念总结(摘选)

    1 1 Master Master节点上面主要由四个模块组成 APIServer scheduler controller manager etcd APIServer APIServer负责对外提供RESTful的Kubernetes A
  • 三十五.C++ 的cout输出,cin输入

    一 用cout输出 include
  • Qt多次链接connect函数的信号槽会调用多次问题

    1 发送一次信号 调用多次槽函数问题 在同一个类中 多次链接QObject connect sender SIGNAL signalSender QString int receiver SLOT onSignalSender QStrin
  • MATLAB奇异值分解及其应用(GUID实例)

    一 奇异值的计算 定义 设A是秩为r的m n复矩阵 的特征值为 则称 为矩阵A的奇异值 其中称为A的正奇异值 通常称之为奇异值 二 奇异值分解 定义 设A是秩为r的m n复矩阵 则存在m阶酉矩阵U和n阶酉矩阵V 使得 成为A的奇异值分解 其
  • 中国IT业缺少什么

    一个人 我们要从小给他补钙 补锌 还有维生素 当然是缺什么就补什么 因人而异 不一而足 倘若营养不良 必定是不会健康成长的了 甚至还有夭折的危险 前几天 惊闻许多中关村的中小品牌人去楼空 还有一家很大的笔记本厂商也夭折了 不禁大吃一惊 IT
  • 腾讯风采依旧:第四季度财报,金融科技和企业服务部门比翼双飞

    腾讯周三公布了其收益 季度和年度收入增长均创下历史新低 因为这家中国科技巨头继续感受到北京收紧监管对互联网行业的影响 第四季度收入为1441 8亿元人民币 226 3亿美元 去年同期为1476亿元人民币 同比增长8 这是该公司自2004年上
  • 高精度时间差值

    引用 解决GetTickCount的时间精度不够的问题 1 类声明 pragma once define WIN32 LEAN AND MEAN include
  • 【前端】Vue项目:旅游App-(13)home:热门数据的网络请求、store和显示

    文章目录 目标 过程与代码 页面html与css 获取数据 网络请求 store 展示数据 效果 总代码 修改或添加的文件 service的home js service的index js store的home js home vue 本项
  • 2019-2013全球开放数据价值贡献优秀案例

    报告通过梳理和分析全球开放数据价值贡献优秀案例 探索开放数据价值创造的模式 路径和机制 为我国利用开放数据促进经济发展 提升国家治理水平和公共服务能力提供经验参考 关注公众号 互联互通社区 回复 DATA171 获取全部报告内容 精彩推荐
  • can connect mysql not server_解决UCenter info: Can not connect to MySQL server的方法

    今天把网站换了台服务器结果发现UCenter打开时提示UCenter info Can not connect to MySQL server 了 但通信是没有问题 只是注册时提示错误 这个不用说就是数据库配置文章的问题 修改下Discuz
  • MPU6050 获取角度理论推导(一)

    当你搜到这篇文章的时候说明你已经在做陀螺仪的项目了 那么陀螺仪具体的东西应该不用多说 他其实就是一个获取原始数据然后通过DMP或者MCU的计算处理 然后得到角度的一个传感器 MPU6050内部集成了一个陀螺仪一个加速传感器还有DMP计算单元
  • C# 实现对XML的基本操作(创建xml文件,增、删、改、查 xml节点信息)

    XML文件在存储 交换和传输数据信息上有着很方便处理 那么今天这篇文章主要讲一下用C 如何实现对XML文件的基本操作 如 创建xml文件 增 删 改 查xml的节点信息 所使用的方法很基础 方便易懂 本文的主要模块为 生成xml文件 遍历x
  • 金三银四到了,如何准备初、高级测试工程师技术面试?

    你眼中的软件测试岗位是怎样的 大部分人可能会给出这样的回答 测试 简单啊 没什么技术含量 无非就是看需求 看业务手册 看设计文档 然后点点功能是否实现 麻烦点的就是测试下部署安装是否出现兼容性问题等 没错 不可否认这是踏入软件测试行业的基本
  • 高级运维开发工程师带你处理linux木马(挖矿病毒)实战例子

    一 事态描述 centos7测试服务器 突然密码登不上去了 然后CPU占100 已经猜到 登录密码过于简单 密码被破解挂马了 大概率是CPU挖矿病毒 二 重置centos7登录root密码 步骤1 启动Linux Centos7系统 当出现
  • 解决ubuntu安装whl速度过慢的加速方法

    ubuntu安装whl或其他工具时速度过慢 在已经设置好conda和系统都为国内源的前提下还特别慢 速度只有几kb 不知道为什么 解决方法 自己手动安装 比如我要装matplotlib pip install i https pypi tu
  • 安卓移动应用开发之从零开始写安卓小程序

    实验一 安装我们的开发环境 一 开发工具 我们开发用的是谷歌出品的Android Studio 它集成了IEDA了功能 学习过后端开发的小伙伴肯定都熟悉IDEA 当然VsCode也是不错的选择 这里我放一个Android Studio的下载
  • Vue中的条件渲染

    条件渲染 1 v if 写法 1 v if 表达式 2 v else if 表达式 3 v else 表达式 适用于 切换频率较低的场景 特点 不展示的DOM元素直接被移除 注意 v if可以和v else if v else一起使用 但要
  • 使用姿势估计进行跌倒检测

    点击上方 小白学视觉 选择加 星标 或 置顶 重磅干货 第一时间送达 所有目标检测已成为动作识别研究的重要垫脚石 即训练AI对行走和坐下等一般动作进行分类 为了使AI能够理解接收到的输入 我们需要教它检测特定的图案和形状 并制定自己的规则
  • 基于STM32的简易电压、频率、占空比测量仪

    基于STM32的简易电压 频率 占空比测量仪 任务描述 一 硬件设计 1 整形电路 2 15V 报警电路 3 stm32 最小系统周围电路 二 软件部分 原理 STM32cubeMX配置 主要代码 三 实验结果展示 任务描述 任务详解 我们
  • Javascript Common Tools Class

    Javascript Common Tools Class Email Daniel Chow Tech Hotmail ComBlog http www cnblogs com DanielChow 2010 2 20 update va