大图APP
大图APP
  • 发布:2019-04-11 00:00
  • 更新:2020-11-03 03:27
  • 阅读:5179

wap2app关于禁用原生标题解决方法【详细篇】

分类:wap2app

这个问题每个刚接触HBuilderX打包wap2app的新手大部分都会面临这个问题,于是不断的有人发帖求助,坟贴被挖掘。当自己问题解决后就消声灭迹不在来关系这个初级问题。
官方团队已经给出解决方案,此等级别的问题不会太在意,不会重复的回复,给的解决方法也比较笼统,很多新手不知所云,根本不知道具体要怎么做。
你在度娘搜索出来的所谓解决方法无非就是

"titleNView": false, //禁用原生标题栏

这个方法正确吗?答案当然是正确。你的问题解决了吗?答案是当然没有解决。那么为题出在哪里呢??

问题就出在新手需要一份简单到 贴出代码直接复制粘贴就能解决问题的程度,

详细如下:
在sitemap.json的pages数组的最后,也就是

 "pages": [  
        {  
            "webviewId": "__W2A__www.d44ll.xyz",//首页  
            "matchUrls": [  
                {  
                    "href": "http://60.205.000.126:3388"   
                }, {  
                    "href": "http://60.205.000.126:3388/"  
                }  
            ],  
            "webviewParameter": {  
                "titleNView": false,  
                "statusbar": {  
                    //状态条背景色,  
                    //首页不使用原生导航条,颜色值建议和global->webviewParameter->titleNView->backgroundColor颜色值保持一致  
                    //若首页启用了原生导航条,则建议将首页的statusbar配置为false,这样状态条可以和原生导航条背景色保持一致;  
                    "style": "dark"  
                    //"background": "#009688",  
                    //"color": "#fff"  
                }  
            }  
        },  
     ///////////////////////////////////////////////////////这里//////////////////////////////////////////////////////////////////////  

    {//未适配的公共页面,可拦截原生下载和头部导航栏, 注:通配符的规则 放在最后一个节点才能达到适配所有未适配的公共页面效果,适配规则优先级为自上而下查找匹配规则  
            "webviewId": "common",  
            "matchUrls": [  
                {  
                    "hostname": "R:.*",  
                    "pathname": "R:.*"  
                }  
            ],  
            "webviewParameter": {  
                "titleNView": false  
            }  
        }  
 ///////////////////////////////////////////////////////到这里//////////////////////////////////////////////////////////////////////  
    ]

官方团队的答案:

首先说明,我们建议隐藏HTML的头,而不是隐藏wap2app的原生头。
因为wap2app的原生头渲染更快,页面加载时不会出现整屏白屏的情况。
如果原来的HTML头有业务逻辑,可以迁移到wap2app的原生头上。

补充说明:titleNView:false 是有效的。前提是需要适配到相应的webviewid。

如果是未适配的页面,也会打开新窗口。但是webviewid是随机给的,这时候框架默认会配置一个原生导航栏,如果要在这种情况下禁掉原生导航栏,建议仿照hello wap2app 示例操作,在sitemap.json的pages数组的最后,注意是最后(适配url规则为从上而下),配置一个webviewid为common的webview,来容纳所有会随机打开的窗口,进行你的操作。

hello wap2app 示例获取方法:
HBuilder 更新至最新alpha版本,新建wap2app --> 选择模板 hello wap2app

http://ask.dcloud.net.cn/question/57947

其实就算这么做,感觉也还是不够完美,会出现第二个问题:http://ask.dcloud.net.cn/question/68271

2 关注 分享
MO君 [已删除]

要回复文章请先登录注册

q***@163.com

q***@163.com

问题解决了, 非常感谢! 解析失败的,是不是代码放置的位置,或者标点符号出错了。
2020-11-03 03:27
1***@qq.com

1***@qq.com

很好用,感谢作者。 解析失败的你们看清楚代码的位置,复制到 】上面,保存运行没有问题
2019-09-26 12:06
r***@163.com

r***@163.com

替换之后 sitemap.json解析失败,哎...帮不了我这种菜鸟...
2019-09-21 19:27
a***@sinwl.com

a***@sinwl.com

这么好的代码,怎么还有人喷?
2019-06-15 17:23
MO君

MO君

挺好的
2019-06-06 16:47
大图APP

大图APP (作者)

回复 7***@qq.com :
对 对 对 我在骗人,大家千万别使用以上代码,否则后果非死即伤!!
2019-05-15 20:47
7***@qq.com

7***@qq.com

替换之后就是 sitemap.json解析失败 根本没用
2019-05-02 09:44
行外人士

行外人士

感谢占在小白的立场上进行问题解决!!
2019-04-11 11:16