有個說法是微信瀏覽器==移動端IE6。分享一下開發中遇到的坑
1.在自己的公眾號能實現支付,從別的公眾號進來不能支付。
既然自己的公眾號能支付了,那麼很有可能是跳轉過來的公眾號的url出現的問題。
正確的:htt P://3w.yijia.com/wechat/pay/?id=1
錯誤的:htt P://3w.yijia.com/wechat/pay?id=1 引數(也就是問號之前)要以/結尾,因為這是公眾號支付配置的要求。
2.微信api上傳圖片,在蘋果和安卓系統下的小區別。問題描述:要上傳多張圖片。在安卓手機上傳成功;在蘋果手機那裡只能上傳成功最後一張。
解決方法:蘋果使用遞迴函式上傳。
3.iframe 中如果有輸入框,在蘋果手機下彈出軟鍵盤時,會導致寬度無法適配
程式碼:
$(window).resize(function () {
$(`iframe`).css("width",$(window).width());
});
並在iframe上 增加屬性
<iframe frameborder=0 scrolling="no"></iframe>
4.絕對定位的元素被鍵盤頂起來。
解決方式:https://segmentfault.com/a/11…
如果使用一些時間外掛,地址選擇外掛,是從底部彈起來的又要絕對定位的。又要設計input的。建議改為從螢幕中間彈出。
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中模式無法識別二維碼
這個我這的服,一直沒找到解決方法,後來改用雜湊路由。
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/
只能得到:
view/guide/home.php
建議:分享的時候不要帶hash資訊。如果一定要帶附加資訊,可以轉為:
view/guide/home.php?share/service/detail/。
在做單頁面應用的時候,如果要分享當前頁面的動態資料,要把引數拼接到url後面。頁面之間使用路由傳參,並用get請求。