分类 web基础 下的文章

Google Map Javascript Api 坐标/经纬度拾取


主要参考的API在https://developers.google.com/maps/documentation/javascript/3.exp/reference?authuser=1#Map
中的Events.click

代码如下,注意需要修改KEY

<!DOCTYPE html>
<html>
<head>
    <style>
        #map {
            height: 600px;
            width: 100%;
        }
    </style>
</head>
<body>
<div id="map"></div>
<script>
    function initMap() {
        var uluru = {lat: 23.4302665, lng: 121.5833201};
        var map = new google.maps.Map(document.getElementById('map'), {
            zoom: 7,
            center: uluru
        });
        var marker = new google.maps.Marker;

        map.addListener('click', function(ApiMouseEvent) {

            marker.setMap(null);

            var lat = ApiMouseEvent.latLng.lat();
            var lng = ApiMouseEvent.latLng.lng();
            var locationJson = ApiMouseEvent.latLng.toJSON()

            var contentString = '<div id="content" style="text-align:center;">'+lat+','+lng+'<br/><button onclick="select('+lat+','+lng+');">选择该位置</button></div>';

            var infowindow = new google.maps.InfoWindow({
                content: contentString
            });
            marker = new google.maps.Marker({
                position: locationJson,
                map: map,
                title: lat+','+lng
            });

            infowindow.open(map, marker);
        });


    }
</script>
<script async defer
        src="https://maps.googleapis.com/maps/api/js?key=YOURKEY&callback=initMap">
</script>
<script>
    function select(lat,lng){
        console.log(lat)
        console.log(lng)
    }
</script>
</body>
</html>

PHP判断SQL语句是否存在写操作


可用于的场景:
1.读写分离
2.给用户一个sql查询窗口时,略微安全一点

注:片段来自CI3.0

public function is_write_type($sql) {
  return (bool) preg_match('/^\s*"?(SET|INSERT|UPDATE|DELETE|REPLACE|CREATE|DROP|TRUNCATE|LOAD|COPY|ALTER|RENAME|GRANT|REVOKE|LOCK|UNLOCK|REINDEX)\s/i', $sql);
}

鼠标单击变双击测试工具


最近鼠标貌似坏了,单击有时候会变成双击,为了验证下了写了小工具

在线测试地址

测试结果展示
testResult.jpg

代码如下,精度写了120毫秒,即两次点击间隔小于120毫秒视为双击了,我这个鼠标快速手动点击间隔都在160毫秒以上。

<input type='button' onclick='testMouse();' value='双击测试'/>
<p></p>
<div></div>
<script src="http://ajax.useso.com/ajax/libs/jquery/1.8.0/jquery.min.js"></script>
<script>
var i=0;
var lastClick=0;
var ok=0;
var error=0;
function testMouse(){
    i++;
    nowTime = Math.round(new Date().getTime());
    clickTime = lastClick==0?0:(nowTime-lastClick);
    lastClick = nowTime;
    if(clickTime<120&&clickTime>0){
        is_doubleClick = "疑似双击";
        error++;
    }else{
        is_doubleClick = "正常";
        ok++;
    }
    $("div").prepend("点击第"+i+"次 间隔时间:"+clickTime+"毫秒 "+is_doubleClick+"<br/>");
    $("p").html("正常"+ok+"次 双击"+error+"次 错误率"+Math.round(error/ok*10000)/100+"%");
}
</script>

php mail函数发邮件标题和发件人乱码问题解决办法


使用mail方法发信时,如果标题或发件人含有中文就会造成乱码,而正文不会。解决办法如下

首先在报文头加入声明

//如果你的网站是GBK,下面将utf-8改为gbk
$headers  = 'MIME-Version: 1.0' . "\r\n";
$headers .= 'Content-type: text/html; charset=utf-8' . "\r\n";

然后在需要使用中文的地方将中文进行如下转移

//如果你的网站是GBK,下面将utf-8改为gb2312
//例如标题
$subject = "新密码通知信";
$subject = "=?UTF-8?B?".base64_encode($subject)."?=";
//例如发件人
$headers .= 'From: =?UTF-8?B?'.base64_encode("某某网站").'?=<service@apieye.com>' . "\r\n";