搜狐IP地址查询接口(默认GBK):http://pv.sohu.com/cityjson 搜狐IP地址查询接口(可设置编码):http://pv.sohu.com/cityjson?ie=utf-8 使用搜狐接口demo: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> <scrIPt src="../plugins/jQuery/jquery-1.12.4.min.js"></scrIPt> <scrIPt src="http://pv.sohu.com/cityjson"></scrIPt> </head> <body> <p id="IP"></p> <......
本文主要介绍一种新的广告后加载的方式,支持自定义HTML广告、百度联盟广告和谷歌联盟广告。这种方式在页面加载完成后执行,不影响内容的显示,对用户更加友好。 我们在网站上放置广告,最简单的方法就是把JS代码,插入指定的位置,这样带了后果就是,页面按照顺序加载,偶尔一条广告代码卡住,整个页面都会卡住,给用户带来的体验是极差的。 那么怎么解决这种问题呢?先说一下原理,在我们的页面上先预留一些占位符......
使用javascrIPt动态加载js文件并执行的方法。 方法一:jquery加载 jQuery.getScrIPt()函数用于通过HTTP GET形式的加载JavaScrIPt文件并运行它 函数可以加载跨域的JS文件。请注意,该函数是通过异步方式加载数据的。 //jq封装方法获取到js成功后 再执行initMap()方法 $.getScrIPt("http://php.hhsy.cc/js/jquery.min.js", function () { initMap(); }); 方法二:js加载 var scrIPt = document.createElement("sc......
最近在修改一个HTML页面的JS的时候遍历JSON对象,却怎么也调试不通过。在获取 json.length的时候总是undefined,各种调试不对,于是网上搜了下,发现JSON对象根本没有length属性,一些比较权威的参考文档也没有提到json有length这个属性。但是奇怪的是我明明记得json有length,而且还用过,程序能够正确运行。 经过一番细细研究,发现在JSON中,有两种结构:对象和数组,对象是没有length这个属性,而数组结构是有的,下面分别......
linux自带的zIP和unzIP命令可以生成和解压windows下的zIP格式的压缩文件。 zIP命令(压缩文件命令) 语法:zIP [选项] 压缩文件名.zIP 需要压缩的内容 例1:压缩服务器上当前目录的内容为xxx.zIP文件 $ zIP -r xxx.zIP ./* 例2:把/home目录下面的abc文件夹和123.txt压缩成为abc123.zIP $ zIP -r abc123.zIP abc 123.txt unzIP命令(解压缩文件命令) 语法:unzIP [选项] 压缩文件名.zIP 各选项的含义分别为: -x 文......
本篇文章将简单说下使用Linux命令行修改IP、网关、DNS的方法。 将网卡eth0的IP修改为 102.168.0.1 ifconfig eth0 102.168.0.1 netmask 255.255.255.0 将网关修改为 102.168.0.254 route add default gw 102.168.0.254 Linux命令行修改DNS echo "nameserver 202.202.202.20 ">> /etc/resolv.conf 重启网络服务命令 service network restart # 或 /etc/rc.d/init.d/network restrart
php程序中验证邮箱,IP地址或url一般大家都会使用正则表达式来处理,其实在php里面有一些内置的专门验证规则。下面用实例说说如何使用php内置filter函数来验证email,IP以及URL。 1、验证邮箱 $email='phpernote@163; $result=filter_var($email,FILTER_VALIDATE_EMAIL); var_dump($result); //输出:bool(false) 2、验证url地址 $url='http://php.hhsy.cc/'; $result=filter_var($url,FILTER_VALIDATE_URL)......
程序传参的过程中对参数的处理常见的有 urlencode rawurlencode 等等这些函数,但在实际操作中作者发现这些函数处理起来总是会出些问题,最常见的urlencode在网页一连串的跳转过程中传参对&这个符号总是处理的有问题。经试验,作者发现还是使用base64_encode加密然后传参来的靠谱。 在php中对字符串进行base64_encode加密处理很容易,而且有相应的base64_decode函数进行解密,在js中却没有响应的处理方法,下面就和大家分享一个在......
javaScrIPt是一门解释性的语言,它不像java,C#等程序设计语言是由编译器先进行编译再运行,而是直接下载到用户的客户端进行执行。因此代码本身的优劣就直接决定了代码下载的速度以及执行的效率,这里我们讨论和给出一些优化你的 JavaScrIPt 代码的提示和最佳实践。 1,减缓代码下载时间: (1)Web浏览器下载的是javaScrIPt的源码,其中包含的长变量名,注释,空格和换行等多余字符大大减缓了代码下载的时间。这些字符对于团队......
自从js有了各种框架之后,比如jquery,使用ajax已经变的相当简单了。但有时候为了追求简洁,可能项目中不需要加载jquery这种庞大的js插件。但又要使用到ajax这种功能该如何办呢?下面和大家分享几种利用javascrIPt实现原生ajax的方法。 首先实现ajax之前必须要创建一个 XMLHttpRequest 对象的。如果不支持创建该对象的浏览器,则需要创建 ActiveXObject,具体方法如下: var xmlHttp; function createxmlHttpRequest(){ if(w......
在javascrIPt替换字符串使用的是replace函数,但在实际使用过程中却发现该函数只会替换被匹配的第一个字符,这就让人很不爽了,在php语言中,replace可是实现全局匹配并替换的。没办法,仔细研究了下,发现还是有其他办法实现全局匹配并替换的。 (1)其实replace本身也可以实现这种功能的,但要通过正则的形式加个参数g,例如: str.replace(/www.baidu.com/g,'php.hhsy.cc'); 或者: str.replace(new RegExp('www.......
分享两种使用javascrIPt验证日期以及时间是否有效的方法。具体就不多说了,看下面的代码。 //| 日期有效性验证 //| 格式为:YYYY-MM-DD或YYYY/MM/DD function IsValidDate(DateStr){ var sDate=DateStr.replace(/(^\s+|\s+$)/g,'');//去两边空格; if(sDate==''){ return true; } //如果格式满足YYYY-(/)MM-(/)DD或YYYY-(/)M-(/)DD或YYYY-(/)M-(/)D或YYYY-(/)MM-(/)D就替换为'' //数据库中,合法日期可以是:YYY......
一个用JavascrIPt检测用户输入密码强度的效果代码,以下代码主要是从以下四个方面检测用户输入的密码的强度的,有兴趣的朋友可以自己添加或修改成自己想要的形式! 1. 如果输入的密码位数少于5位,那么就判定为弱。 2. 如果输入的密码只由数字、小写字母、大写字母或其它特殊符号当中的一种组成,则判定为弱。 3. 如果密码由数字、小写字母、大写字母或其它特殊符号当中的两种组成,则判定为中。 4. 如果密码由数字、小写字......
想全面学习 javascrIPt 的朋友可以看看这本书,内容由简入繁,非常实用,无论是老鸟还是新手,看完这本书后都将会对 javascrIPt 产生一个全新的认识,下面作者将书籍内容做一个简单的介绍并将目录做一下列举,另外文章末尾提供有该书籍的电子版本下载哦! 书籍内容简介 《JavaScrIPt王者归来》这本书不仅是一本传播知识的书,更是一本求道的书。本书分为五个部分循序渐进地与读者讨论了JavaScrIPt的方方面面,从简单的语言基础......
这是作者费了好大劲儿在网上搜到的javascrIPt视频教程,是一部由浅入深的不可多得的关于javascrIPt方面的教程视频。现在在这里分享给大家!下载地址在文件的末尾! JavaScrIPt语法 47.8MB JavaScrIPt变量和数据类型 59.4MB JavaScrIPt运算符和流程控制 42.4MB JavaScrIPt的函数声明与应用 44.5MB 自己定义函数和系统函数的应用 40.7MB JavaScrIPt对象的声明与操作 55MB Ja......
PHP的开源世界可谓相当精彩,其中大家也接触的不少著名的PHP开源项目,比如Drupal、Sugar CMS、Joomla等等,但在本文中,笔者将选取9个最新知名度不是太高,但可在某些方面很实用,目前还在发展阶段,很有潜力的PHP开源项目。相信各位读者看了之后会惊叹:原来PHP还能干这么多事情。 1、PHP FOR Android 现在,IPhone和Android大行其道,拥有它们已经成为一种潮流。而Android的市场份额也变的越来越大。 而现在除了可以用JAVA来......
这篇文章和大家分享一个 javascrIPt 在浏览器地址栏上的特效,非常的有趣。它可以使页面上所有的图片元素一个个得排列起来并不停的转圈。因为转圈弧度为半圆且棱角分明,我们姑且称之为风火轮效果吧!这个javascrIPt特效代码如下: javascrIPt:R=0;x1=.1;y1=.05;x2=.25;y2=.24;x3=1.6;y3=.24;x4=300;y4=200;x5=300;y5=200;DI=document.getElementsByTagName("img");DIL=DI.length;function A(){for(i=0;i-DIL;i++){DIS=DI[i].st......
在PHP中,有两个函数与字符串的转义有关,他们分别是 addslashes 和 strIPslashes。 addslashes($string), 在指定的预定义字符前添加反斜杠 (\),用于为存储在数据库中的字符串以及数据库查询语句准备合适的字符串。 注释:默认情况下,PHP 指令 magic_quotes_gpc 为 on,对所有的 GET、POST 和 COOKIE 数据自动运行 addslashes()。不要对已经被 magic_quotes_gpc 转义过的字符串使用 addslashes(),因为这样会导致双层转义。遇......
PHP ZIPArchive 是PHP自带的扩展类,可以轻松实现ZIP文件的压缩和解压,使用前首先要确保PHP ZIP 扩展已经开启,具体开启方法这里就不说了,不同的平台开启PHP扩增的方法网上都有,如有疑问欢迎交流。这里整理一下利用php zIPArchive进行文件的压缩与解压缩的常用的示例供参考。 一、解压缩zIP文件 $zIP=new ZIPArchive;//新建一个ZIPArchive的对象 if($zIP->open('test.zIP')===TRUE){ $zIP->extractTo('images');//假设......
js中数组操作函数还是非常多的,今天忽然想到来总结一下,也算是温故而知新吧。不过不会针对每个办法都进行一下总结,只是针对一些比较常用的做个备注一下。 这里总结到的 js 数组操作函数有:push,pop,join,shift,unshift,slice,splice,concat (1)push 和 pop 这两个函数都是对数组从尾部进行压入或弹出操作。push(arg1,arg2,...)可以每次压入一个或多个元素,并返回更新后的数组长度。注意如果参数也是数组的话,则......
今天在一个原来使用AJAX自动缩小选择内容的项目上突然发现当输入名称时,如果输入有特殊字符&的时候,选择的内容不会发生变化,也就是说输入的内容在&后面的内容会被截断,经过查证才发现在客户端使用AJAX发送获取到客户端数据的时候,数据内容是没有经过url编码的就是直接放在url地址上发送了,因为当时考虑到输入的是公司名称,一般不会有特殊字符,也没认真考虑,使用当输入特殊字符&的时候后面的内容就会被截断。解决办法是对......
PHP ZIPArchive 是PHP自带的扩展类,可以轻松实现ZIP文件的压缩和解压,使用该类之前首先需要确保PHP ZIP 扩展已经开启,如果没有开该类就直接使用的话,程序就会报出 Fatal error Class 'ZIPArchive' not found ...... 这种错误,下面本文就这种错误分享一下解决办法。 首先我们要知道的是出现这个错误说明是程序在调用'ZIPArchive' 这个类的时候没有成功,原因是由于在安装php的时候没有增加php zIP的支持(非zlib)。那么处理......
php 如何去除一个数组里面的重复值?按一般的思维,一般都会是进行两个 foreach 循环剔除掉数组里面相同的值。但是这个方法不是一种最优的方法,下面介绍一个 php 自带的数组函数 array_flIP 函数。 首先介绍一下 array_flIP 函数。 array array_flIP ( array trans) trans 需要进行反转的数组 【功能】 函数交换数组中的键和值,该函数将返回一个反转后的数组,即原数组的值变成了新数组的键值,原数组的键值变成了新......
假如查出某个 IP 经常对我们的网站进行攻击或者出于其他原因从而打算拒绝该 IP 访问我们的站点的时候,该如何做呢?下面分享一种通过 .htaccess 中拒绝某个 IP 访问的办法。 编辑 .htaccess 文件,输入如下内容: order allow,deny deny from 110.120.16.11 deny from 108.8.32. allow from all 将以上内容保存后放到站点的根目录下面即可拒绝指定的 IP 访问网站了,以上代码中第二行是拒绝 110.120.16.11 这个 IP 地址访......
javascrIPt 获取当前 URL 参数的两种方法: //返回的是字符串形式的参数,例如:class_id=3&id=2& function getUrlArgStr(){ var q=location.search.substr(1); var qs=q.split('&'); var argStr=''; if(qs){ for(var i=0;i<qs.length;i++){ argStr+=qs[i].substring(0,qs[i].indexOf('='))+'='+qs[i].substring(qs[i].indexOf('=')+1)+'&'; } } return argStr; } //返回的是对象形式的参数 functi......
使用 javascrIPt 判断当前用户点击的是鼠标左键还是右键是很简单的,只需要给对象加上 onmousedown 事件,通过 javascrIPt 的 e.button 值来进行判断,下面直接上例子。 document.onmousedown=judgeMouseButton; function judgeMouseButton(e){ var e=window.event||e;//获取事件对象 var value=e.button; if(value==2||value==3){ alert('点击的是鼠标右键'); }else{ alert('点击的是鼠标左键'); } }
javascrIPt判断复选框是否选中,下面通过例子来说明(现在有如下的一组复选框): <input type="checkbox" name="fruit" value="apple" />苹果 <input type="checkbox" name="fruit" value="orange" />橘子 <input type="checkbox" name="fruit" value="banana" />香蕉 <input type="checkbox" name="fruit" value="grape" />葡萄 获取 name=fruit 的一组复选框的值的方法如下: <scrIPt language="javascrIPt"> functi......
用 JS 计算鼠标在页面上的位置并非难事,但由于IE和Firefox对获取鼠标当前位置的方法不同(IE为event.x|y,FF为event.pageX|Y),一般采用的是event.clientX代替两者,但当出现滚动条时event.clientX在IE和FF中的表现会略有不同。因此 js 获取鼠标当前位置也因各浏览器的区别而有所不同。下面介绍一种通用的获取鼠标在页面上的位置的方法。 /** * 获取鼠标在页面上的位置 * @param ev 触发的事件 * @return x:鼠标在页面上的横......
所有浏览器在下载JS的时候,会阻止一切其他内容的加载,比如其他资源的下载,内容的呈现等等。至到JS下载、解析、执行完毕后才开始继续并行下载其他资源并呈现内容。 (1)为什么JS不能像CSS、image一样并行下载了? 这里需要简单介绍一下浏览器构造页面的原理,当浏览器从服务器接收到了HTML文档,并把HTML在内存中转换成DOM树,在转换的过程中如果发现某个节点(node)上引用了CSS或者IMAGE,就会再发1个request去请求CSS或image......