2019-05-15: 如何三分鐘將網(wǎng)站轉換為APP?

by草梅友仁

前言

現(xiàn)在用前端技術來寫一個app實在是太方便了,尤其是有像HBuilder(現(xiàn)已更名為HBuilderX,功能一樣)能將原生H5打包成原生APP的軟件,那就更加方便了。

下面我們就來看看,如何在三分鐘之內(nèi)將你的網(wǎng)站轉換為APP。

【本案例以草梅友仁自己的個人網(wǎng)站https://www.caomeiyouren.cn/為例】

0.首先

首先,你肯定得先做好一個網(wǎng)站,也已經(jīng)適配好了手機。但畢竟只是一個網(wǎng)站,還要通過手機瀏覽器來訪問,有點不方便,如果能打包成app豈不美哉?【如圖,已經(jīng)做好了手機適配】


image

1.使用HBuilder新建移動App工程

先用HBuilder建一個空的移動App工程

image

2.在index.html頁面添加如下代碼

<script type="text/javascript">
    window.location.;
    //這段代碼的意思是跳轉到指定網(wǎng)頁
</script>

3.配置App信息

image

4.發(fā)行打包

image
image

5.下載app到手機試用

image

效果可以說是非常完美了!

6.優(yōu)化用戶體驗

但是這個時候又會遇到新的問題了。

  • 用戶一旦按了手機的物理退出鍵,會觸發(fā)app的默認退出事件,也就是說這個app就直接退出了

    解決方案如下,在你的網(wǎng)站首頁添加這樣一段代碼。請注意,是你的網(wǎng)站首頁!

    本段示例僅適用于單頁面應用。多頁面應用需要每個頁面都有這么一段。

    同時為了避免在首頁還會返回原來頁面的bug,建議通過路由來判斷是否為首頁

    <script>
        /* 解決App端物理返回鍵的問題 */
        document.addEventListener('plusready', function () {
            var webview = plus.webview.currentWebview();
            plus.key.addEventListener('backbutton', function () {
                webview.canBack(function (e) {
                    //通過哈希路由來判斷是否為首頁,是首頁則按返回鍵退出。避免退出后還會返回原來頁面的BUG
                    if (e.canBack && location.hash !== "#/index") {
                        webview.back();//返回上一個頁面
                    } else {
                        //首頁返回鍵處理
                        //處理邏輯:1秒內(nèi),連續(xù)兩次按返回鍵,則退出應用;
                        var first = null;
                        plus.key.addEventListener('backbutton', function () {
                            //首次按鍵,提示‘再按一次退出應用’
                            if (!first) {
                                first = new Date().getTime();
                                plus.nativeUI.toast('再按一次退出應用');
                                setTimeout(function () {
                                    first = null;
                                }, 1000);
                            } else {
                                if (new Date().getTime() - first < 1500) {
                                    plus.runtime.quit();
                                }
                            }
                        }, false);
                    }
                })
            });
        });
    </script>
    
?著作權歸作者所有,轉載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容