2017年7月

微信公众平台开发遇到个问题,安卓可以利用audio标签通过js控制自动播放的问题,但是ios就不行,最起码也得有个交互才能触发,比如点击什么的,目前自己只知道一种方法:

利用微信的方法,首先加载js

《script type="text/javascript"》
//配置必须得配,可以随便写,我就是胡乱写的,就算写错也会进入reday里,就可以控制播放了

//一般情况下,这样就可以自动播放了,但是一些奇葩iPhone机不可以
wx.config({
    debug: false, // 开启调试模式
    appId: 'hrkjhrkjehkjrh', // 必填,公众号的唯一标识
    timestamp: '759375397539', // 必填,生成签名的时间戳
    nonceStr: 'nfakj', // 必填,生成签名的随机串
    signature: 'hjqwkehwkqh',// 必填,签名,见附录1
    jsApiList: [] // 必填,需要使用的JS接口列表,所有JS接口列表见附录2
})

wx.ready(function(){

//必须得先启动一次,否则后面操作不起来,我也不知道为什么。。无奈只能先启动然后立马停止。。。。

    media = document.getElementById('audio');
    media.play();//先播放,在暂停
    media.pause();
})

//在后面的操作逻辑中只要直接media.play();就可以播放了
《/script》

直接拿去用,亲测有效!
function getip() {

$unknown = 'unknown';
if(isset($_SERVER['HTTP_X_FORWARDED_FOR']) && $_SERVER['HTTP_X_FORWARDED_FOR'] && strcasecmp($_SERVER['HTTP_X_FORWARDED_FOR'], $unknown)){
    $ip = $_SERVER['HTTP_X_FORWARDED_FOR'];
}elseif(isset($_SERVER['REMOTE_ADDR']) && $_SERVER['REMOTE_ADDR'] && strcasecmp($_SERVER['REMOTE_ADDR'], $unknown)) {
    $ip = $_SERVER['REMOTE_ADDR'];
}
/**
 * 处理多层代理的情况
 * 或者使用正则方式:$ip = preg_match("/[\d\.]{7,15}/", $ip, $matches) ? $matches[0] : $unknown;
 */
if (false !== strpos($ip, ',')) $ip = reset(explode(',', $ip));
return $ip;

}

用oneinstack配置好环境后,域名也解析的没有问题,就是不能访问,一般只有两个问题:
1、新网和阿里云的有些区别,新网有ip白名单,要加上你解析的域名白名单才可以,如XXXX.com;
2、新网默认是只开22端口的(ssh),而80端口和3306端口(数据库远程链接)是不开启的,所以要开启80端口才生效,我的是centos,命令如下:

》iptables -I INPUT 4 -p tcp -m state --state NEW -m tcp --dport 80 -j ACCEPT
》service iptables save

如果为Ubuntu/Debian系列:

》iptables -I INPUT 4 -p tcp -m state --state NEW -m tcp --dport 8080 -j ACCEPT
》iptables-save > /etc/iptables.up.rules

问题解决。
PS:我的是基于oneinstack配置的,其他的没测试,请注意。

function aaaa(file) {
        var prevDiv = document.getElementById('androimg');
        if (file.files && file.files[0])
        {
            var reader = new FileReader();
            reader.onload = function(evt){
                prevDiv.innerHTML = '<img src="' + evt.target.result + '" height="150"/>';
            }
            reader.readAsDataURL(file.files[0]);
        }
        else
        {
            prevDiv.innerHTML = '<div class="img" style="filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(sizingMethod=scale,src=\'' + file.value + '\'"></div>';
        }
    }
如果上面的不行用下面的
onchange的时候把this给上!!!!!
function aaaa(file) {
        var prevDiv = document.getElementById('androimg');
        if (file.files && file.files[0])
        {
            var reader = new FileReader();
            reader.onload = function(evt){
                prevDiv.innerHTML = '<img src="' + evt.target.result + '" height="150"/>';
            }
            reader.readAsDataURL(file.files[0]);
        }
        else
        {
            prevDiv.innerHTML = '<div class="img" style="filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(sizingMethod=scale,src=\'' + file.value + '\'"></div>';
        }
    }

xshell或者putty敲命令:

cat /etc/issue

在CentOS下执行显示为:
CentOS release 5.7 (Final)
Kernel \r on an \m

或在Ubuntu下显示为:
Ubuntu 11.04 \n \l