動態

詳情 返回 返回

手機hybrid應用H5開發 - 動態 詳情

H5開發

引入flexible.js

*.html<head>標籤中引入<script src="http://g.tbcdn.cn/mtb/lib-flexible/0.3.4/??flexible_css.js,flexible.js"></script>

Note:HTML中無需設置<meta name="viewport" content="width=device-width, initial-scale=1.0,user-scalable=no,minimum-scale=1.0,maximum-scale=1.0">,否則,不管設備是多少的dpr,都會強制認為其dpr是你設置的值。

通過scss定義px2rem的轉換

@function px2em($px, $base-font-size: 16px) {
    @if (unitless($px)) {
        @warn "Assuming #{$px} to be in pixels, attempting to convert it into pixels for you";
        @return px2em($px + 0px); // That may fail.
    } @else if (unit($px) == em) {
        @return $px;
    }
    @return ($px / $base-font-size) * 1em;
}

文本字號不建議使用rem

我們希望文本在不同dpr屏幕下文本字號相同

我們希望在大屏手機上看到更多文本

不希望出現13px和15px這樣的奇葩尺寸

文本還是使用px作為單位,只不過使用[data-dpr]屬性來區分不同dpr下的文本字號大小

// dpr === 1, 設計圖尺寸375 * 667為例
@mixin font-dpr($font-size){
    font-size: $font-size;

    [data-dpr="2"] & {
        font-size: $font-size * 2;
    }

    [data-dpr="3"] & {
        font-size: $font-size * 3;
    }
}
// dpr === 2, 設計圖尺寸750 * 1135為例
@mixin font-dpr($font-size){
    font-size: $font-size / 2;

    [data-dpr="2"] & {
        font-size: $font-size;
    }

    [data-dpr="3"] & {
        font-size: $font-size;
    }
}
@include font-dpr(16px);

H5調試

手機開啓USB調試功能

不同手機開啓路徑不同,可以自行百度;

這裏介紹一個通用的方式:

  1. 打開手機出廠APP“設置”
  2. 通過“搜索”功能檢索“USB調試”
  3. 點擊檢索結果,進入指定頁面,打開“USB調試”功能

手機、電腦處於同一局域網

電腦端啓動Web服務器,將H5資源部署到服務器中,手機局域網內通過電腦IP + path訪問H5頁面。

示例:

npm i -g browser-sync 
cd <project dir path>
// 以項目路徑創建web服務端
browser-sync start --server --files ./

手機默認瀏覽器(非微信)通過PC端IP + path訪問H5頁面。

若無法訪問,確認處於同一局域網後,關閉PC端防火牆試試。

手機數據線連接電腦

  • 手機數據線連接電腦
  • 瀏覽器打開新標籤頁chrome://inspect
  • 靜待一些時間,Remote Target中顯示數據線連接的設備及其可訪問頁面
  • 點擊要調試的頁面連接,即可調試

Note:調試過程中要保持手機不熄屏

H5與客户端交互

H5喚起客户端

URL Scheme
舊的通用喚端解決方案:使用前需要確認是否已棄用

URL Scheme是H5和客户端、客户端和設備溝通的橋樑。

使用URL Scheme在保證個人信息在設備所有者知情並允許的情況下實現通信。

URL Scheme的構成:[scheme:][//authority][path][?query][#fragment],即:客户端APP在移動設備中的統一資源定位符。

而這裏的Scheme是移動設備為每個客户端APP分配的標識符。

常見的Scheme

微信 支付寶 淘寶 微博 QQ 知乎 短信
weixin:// alipay:// taobao:// sinaweibo:// mqq:// zhihu:// sms://
Intent
安卓原生Google瀏覽器喚端協議

整體結構如下:

intent:
   HOST/URI-path // Optional host 
   #Intent; 
      package=[string]; 
      action=[string]; 
      category=[string]; 
      component=[string]; 
      scheme=[string]; 
   end;

使用示例:

 <a href="intent://scan/#Intent;scheme=zxing;package=com.google.zxing.client.android;S.browser_fallback_url=http%3A%2F%2Fzxing.org;end"> Take a QR code </a>
Universal Link
IOS9+

Hybrid混合開發調試

Hybrid混合開發,即H5頁面嵌入到原生客户端提供的Webview中渲染。

這裏的調試大體和H5頁面調試沒什麼不同,只要注意是否能調試和客户端是否屏蔽調試功能強關聯。

調試可能需要客户端區別於線上應用,單獨打可以調試的開發包(具體流程需要諮詢客户端)。

參考文檔

  • H5喚起客户端
user avatar shijingjing_5ab4aa131e343 頭像 websx 頭像 paidaxinghaimianbaobao 頭像 qianghandexiang 頭像 aitinggedeyuechikou 頭像 wuyagege 頭像
點贊 6 用戶, 點贊了這篇動態!
點贊

Add a new 評論

Some HTML is okay.