微信公衆號開發之坑(一)

有個說法是微信瀏覽器==移動端IE6。分享一下開發中遇到的坑

1.在本身的公衆號能實現支付,從別的公衆號進來不能支付。

既然本身的公衆號能支付了,那麼頗有多是跳轉過來的公衆號的url出現的問題。
正確的:htt P://3w.yijia.com/wechat/pay/?id=1
錯誤的:htt P://3w.yijia.com/wechat/pay?id=1 參數(也就是問號以前)要以/結尾,由於這是公衆號支付配置的要求。php

2.微信api上傳圖片,在蘋果和安卓系統下的小區別。問題描述:要上傳多張圖片。在安卓手機上傳成功;在蘋果手機那裏只能上傳成功最後一張。

解決方法:蘋果使用遞歸函數上傳。css


3.iframe 中若是有輸入框,在蘋果手機下彈出軟鍵盤時,會致使寬度沒法適配

代碼:vue

$(window).resize(function () { 
            $('iframe').css("width",$(window).width());
        });

並在iframe上 增長屬性react

<iframe frameborder=0 scrolling="no"></iframe>

4.絕對定位的元素被鍵盤頂起來。

解決方式:https://segmentfault.com/a/11...
若是使用一些時間插件,地址選擇插件,是從底部彈起來的又要絕對定位的。又要設計input的。建議改成從屏幕中間彈出。segmentfault

5.音頻沒法自動播放

//通常狀況下,這樣就能夠自動播放了,可是一些奇葩iPhone機不能夠
 document.getElementById('car_audio').play();
//必須在微信Weixin JSAPI的WeixinJSBridgeReady才能生效
document.addEventListener("WeixinJSBridgeReady", function () {
    document.getElementById('audio').play();
    document.getElementById('video').play();
}, false);

6.vue2.0路由(react不知道)採用history 在IOS中模式沒法識別二維碼

這個我這的服,一直沒找到解決方法,後來改用哈希路由。api

7.輸入框在IOS中設置只讀readonly="readonly" 時,點擊扔出現光標。

$('input[readonly]').on('focus', function() {
            $(this).trigger('blur');
});

8.微信緩存。

手動清理http://debugx5.qq.com 手機打開 拉到最後,把4個選上。
本文僅提供php代碼,js的自行查找。由於考慮到js是在css加載完成以後才執行的。因此要把動態生成隨機數或時間戳的js放到適當的位置。好比你的css是放在head標籤裏面的。可是你的css是不想被緩存的,要在url後面生成一些動態信息,那麼在引入該css的下面就要緊接着js代碼。瀏覽器

<link rel="stylesheet" href="/modules/wechatmp/statics/css/1111.css?v=<?php echo time(); ?> " />
<script class='math' src="/modules/wechatmp/statics/js/11111.js?ver=<?php echo time(); ?> "></script>

9.微信分享連接不支持

微信分享接口不支持hash傳遞。緩存

帶有hash的url分享朋友圈的時候,跳轉信息中 不包含hash信息。例如:微信

view/guide/home.php#share/service/detail/ide

只能獲得:

view/guide/home.php

建議:分享的時候不要帶hash信息。若是必定要帶附加信息,能夠轉爲:

view/guide/home.php?share/service/detail/。

在作單頁面應用的時候,若是要分享當前頁面的動態數據,要把參數拼接到url後面。頁面之間使用路由傳參,並用get請求。

相關文章
相關標籤/搜索