当前位置:   article > 正文

【uniapp】多端(H5和微信小程序)_uniapp区分小程序和h5

uniapp区分小程序和h5

目录

一、运行H5页面

二、去除H5顶部导航栏

三、区分H5页面和微信小程序的样式

四、H5页面下载视频、PDF

五、H5页面适配


一、运行H5页面

 打开网页后复制网页地址

然后打开微信开发者工具,点击公众号网页版,输入地址即可看到H5页面

二、去除H5顶部导航栏

  1. "globalStyle": {
  2. "navigationBarTextStyle": "black",
  3. "navigationBarTitleText": "uni-app",
  4. "navigationBarBackgroundColor": "#F8F8F8",
  5. "backgroundColor": "#F8F8F8",
  6. "app-plus": {
  7. "bounce": "none" //可选: 是否禁止iOS回弹和Android触顶触底的弧形阴影, 默认允许 (可配在 'globalStyle')
  8. },
  9. "mp-alipay": {
  10. "allowsBounceVertical": "NO"
  11. }, //可选: 取消支付宝和钉钉小程序的iOS回弹 (可配在 'globalStyle')
  12. "h5": {
  13. "titleNView": false // H5的顶部导航
  14. }
  15. }

三、区分H5页面和微信小程序的样式

无论是页面还是js还是css,都是一样的使用,样式如下:

  1. APPAPP
  2. /*#ifdef APP-PLUS*/
  3. top:0;
  4. /*#endif*/
  5. /*#ifdef APP-PLUS*/
  6. console.log('APP端')
  7. /*#endif*/
  8. <!-- #ifdef APP-PLUS -->
  9. <view> APP端 </view>
  10. <!-- #endif -->
  11. H5H5
  12. /*#ifdef H5*/
  13. top:88rpx;
  14. /*#endif*/
  15. /*#ifdef H5*/
  16. console.log('H5端')
  17. /*#endif*/
  18. <!-- #ifdef H5 -->
  19. <view> H5端 </view>
  20. <!-- #endif -->
  21. MP:小程序
  22. /*#ifdef MP*/
  23. top:0;
  24. /*#endif*/
  25. /*#ifdef MP*/
  26. console.log('微信小程序端')
  27. /*#endif*/
  28. <!-- #ifdef MP -->
  29. <view> 小程序端 </view>
  30. <!-- #endif -->

四、H5页面下载视频、PDF

视频: 

  1. methods:{
  2. //下载方法
  3. saveFile(url, success) {
  4. const dA = document.createElement("a");
  5. dA.download = ''; // 设置下载的文件名,默认是'下载'
  6. dA.href = url;
  7. document.body.appendChild(dA);
  8. dA.click();
  9. dA.remove(); // 下载之后把创建的元素删除
  10. success(); //运行回调
  11. },
  12. //点击下载按钮
  13. downloadMP4() {
  14. let that = this
  15. this.saveFile(that.word.fileurl_EN, () => {
  16. // 保存下载记录
  17. that.api.DownloadFile({
  18. FileId: that.word.Id
  19. }).then(res => {
  20. console.log(res)
  21. })
  22. });
  23. },
  24. }

PDF:

  1. methods:{
  2. // 下载
  3. async download() {
  4. let that = this
  5. // 文件
  6. await uni.showLoading({
  7. title: '加载中'
  8. })
  9. uni.openDocument({
  10. filePath: that.word.fileurl_EN,
  11. showMenu: true, //预览文件的时候右上角有三点
  12. success: function(res) {
  13. uni.hideLoading()
  14. },
  15. fail(error) {
  16. uni.hideLoading()
  17. uni.showToast({
  18. title: '打开失败,请刷新后稍后重新下载',
  19. icon: 'none'
  20. })
  21. }
  22. })
  23. },
  24. }

五、H5页面适配

手机端、iPad、pc端

第一步:pages.json

  1. "globalStyle": {
  2. "navigationBarTextStyle": "black",
  3. "navigationBarTitleText": "uni-app",
  4. "navigationBarBackgroundColor": "#F8F8F8",
  5. "backgroundColor": "#F8F8F8",
  6. "app-plus": {
  7. "bounce": "none" //可选: 是否禁止iOS回弹和Android触顶触底的弧形阴影, 默认允许 (可配在 'globalStyle')
  8. },
  9. "mp-alipay": {
  10. "allowsBounceVertical": "NO"
  11. }, //可选: 取消支付宝和钉钉小程序的iOS回弹 (可配在 'globalStyle')
  12. "h5": {
  13. "titleNView": false, // 去掉APP、H5的顶部导航
  14. "devServer": {
  15. "disableHostCheck": true
  16. // "navigationStyle": "custom"
  17. },
  18. "rpxCalcMaxDeviceWidth": 1024 // rpx 计算所支持的最大设备宽度,单位 px,默认值为 960
  19. // "rpxCalcBaseDeviceWidth": 750, // rpx 计算使用的基准设备宽度,设备实际宽度超出 rpx 计算所支持的最大设备宽度时将按基准宽度计算,单位 px,默认值为 375
  20. // "rpxCalcIncludeWidth": 1280 // rpx 计算特殊处理的值,始终按实际的设备宽度计算,单位 rpx,默认值为 750
  21. }

 第二步:页面使用媒体查询

  1. <style lang="scss">
  2. // 设置了rpxCalcMaxDeviceWidth:1024px,所以1024px以内都可以使用rpx,超出则使用px
  3. @media screen and (min-width:1024px) {}
  4. </style>

如果手机端和pc端的顶部不一样,切换的时候可以使用display: none;

  1. <template>
  2. <view class="TopContainer">
  3. <!-- 没有超过屏幕宽度768,则显示 -->
  4. <view class="screen1"></view>
  5. <!-- 超过屏幕宽度768,则显示 -->
  6. <view class="screen"></view>
  7. </view>
  8. </template>
  9. <style lang="scss">
  10. .screen1 {
  11. display: block;
  12. }
  13. .screen {
  14. display: none;
  15. }
  16. @media screen and (min-width:1024px) {
  17. .screen1 {
  18. display: none;
  19. }
  20. .screen {
  21. display: block;
  22. }
  23. }
  24. </style>

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Cpp五条/article/detail/79476
推荐阅读
相关标签
  

闽ICP备14008679号