Vue H5项目如何在PC端时布局居中展示,而不全屏拉伸

news2024/11/15 15:43:10

目录

      • 1、场景再现:在PC端时 H5项目布局被拉伸
      • 2、代码实现
      • 3、最终效果图
      • 4、疑惑

1、场景再现:在PC端时 H5项目布局被拉伸

在这里插入图片描述

2、代码实现

在App.vue中的写入,vue2 的在mounted中写入,vue3的写在onMounted写入。

逻辑讲解:
1、获取当前用户的终端类型,再创建一个存有多个H5不同终端的类型。
2、如果H5终端数组中的每个元素不属于当前PC终端。
3、那么创建iframe内联框架为iframe框架设置href跳转.
4、创建一个iframe的样式对象,并用对象遍历属性的方式 将所有属性逐一设置到iframe的style中。
5、最后将新增的iframe插入到document.body中。

 			// 以vue2为例
 			mounted(){
				//为pc则用iframe把移动端页面显示到页面中间
	            let userAgentInfo = navigator.userAgent;
	            let Agents = new Array("Android", "iPhone", "SymbianOS", "Windows Phone", "iPad", "iPod");
	            //pc
	            if (
	                  !Agents.some(item => userAgentInfo.toLowerCase().includes(item.toLowerCase())) &&
	                  !(self.frameElement && self.frameElement.tagName == "IFRAME")
	            ) {
	                  let ifrTag = document.createElement("iframe");
	                  document.body.innerHTML = "";
	                  ifrTag.setAttribute("src", location.href);
	                  let styleObj = {
	                        width: "480px",
	                        height: "920px",
	                        position: "absolute",
	                        left: "50%",
	                        transform: "translateX(-50%)",
	                  };
	                  Object.entries(styleObj).forEach(([key, value]) => {
	                        ifrTag.style[key] = value;
	                  });
	                  document.body.append(ifrTag);
	            }
			}

写完保存后到PC端刷新网页看效果即可。
其实React、Angular也是可以写入的,因为这段代码是用原生JS写的。

3、最终效果图

在这里插入图片描述

4、疑惑

那我H5原本的布局会不会被影响到?
答案:不会的,丝毫不影响到H5,上面代码只针对PC端。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/657338.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Android 全局黑白化-模拟颜色空间

概述 平台: RK3568 Android 11在一些特殊的日子,如默哀日、灾难日,纪念日,哀悼日等,许多的APP、网页、海报等都开始使用黑白色主题。Android 的全局黑白实现方案,可以考虑使用模拟颜色空间的方法。 借助硬…

RabbitMQ高阶使用消息推送

目录 1 从打车开始说起1.1 需要解决的问题1.2 消息推送 2 消息推送2.1 什么是消息推送2.2 方案介绍2.2.1 ajax短轮询2.2.2 长轮询2.2.3 WebSocket 2.3 WS实现消息推送2.3.1 架构介绍2.3.2 暂存数据2.3.2.1 什么是MongoDB2.3.2.2 插入数据2.3.2.3 查询数据 2.4.1 轮询任务2.4.1.…

学生党暑假在家赚钱得方法,足不出户轻松赚取买鞋钱

很多学生党都想在暑假期间赚点零花钱,最好是能在家就赚钱。在家里赚零花钱有许多途径,今天我来和大家分享一些方法。 1、问答在各大平台上非常普遍。 我们可以在各大平台上找到各种各样的问答。 如今,问答平台越来越多,提供的奖…

平凯星辰重磅支持 2023 开放原子全球开源峰会,开源数据库分论坛成功召开

2023 年 6 月 11 日至 13 日,以“开源赋能,普惠未来”为主题的 2023 开放原子全球开源峰会开幕式暨高峰论坛在北京成功举办。企业级开源分布式数据库厂商平凯星辰联合创始人兼 CTO 黄东旭受邀出席峰会参与开源论道圆桌,担任开源数据库分论坛出…

吴恩达ChatGPT课爆火

点上方计算机视觉联盟获取更多干货 没想到时至今日,ChatGPT竟还会犯低级错误? 吴恩达大神最新开课就指出来了: ChatGPT不会反转单词! 比如让它反转下lollipop这个词,输出是pilollol,完全混乱。 哦豁&#…

C++14中返回类型推导的使用

使用C14中的auto返回类型,编译器将尝试自动推导(deduce)返回类型: namespace {int xx 1; auto f() { return xx; } // return type is int const auto& f3() { return xx; } // return type is const int&auto multiply(int a, int b) { return (a * b); …

【阅读论文】时间序列数据清洗:一项调查

文章目录 摘要一、引言A.问题陈述B.问题挑战C. 组织 二、基于平滑的清洗算法A.移动平均B.自动注册C.卡尔曼滤波模型D.总结和讨论 三、基于约束的混合算法A. 顺序依赖 (OD)B.序列相关性C.速度约束D.总结和讨论 四、基于统计的CLEANING算法A.最大似然B.马尔可夫模型C.二项抽样D.时…

基于51单片机设计的井下瓦斯监控系统

一、项目介绍 井下瓦斯监控系统是煤矿安全生产中非常重要的一部分,防止井下瓦斯爆炸事故的发生,保障煤矿工人的人身安全。由于地下环境特殊,需要特殊的监测系统来实时监测瓦斯浓度等关键指标,并及时报警以便采取措施进行处理。 瓦斯气体,又称沼气,是一种轻质烃类气体,…

基于的滤波器设计

一,带通滤波器设计指标。 1,中心频率。中心频率:通常定义为带通滤波器(或带阻滤波器)频率的几何平均值,在对数坐标下,即为两个3dB点之间的中点,一般用两个3dB点的算术平均来表示。滤波器通频带中间的频率&…

网工大题题型总结(1)-------网络安全方面考察

(1)2018年上半年 试题二 (3)常见的无线网络安全隐患有 IP 地址欺骗、数据泄露、(8)、(9)、双络通信被窃听等; 为保护核心业务数据区域的安全,网络管理员在设备①处部署(10)实现核心业务区域边界 防护;在设备②处部署…

C++11特性之左值引用和右值引用

3.1二者的对比之内置类型 内置类型的无名对象(右值)为纯右值,其值本身不可改变 int main() {int a10;const int b20;int& raa;//ok,左值引用const int& rbb;//ok,常性左值引用const int& crv30;//ok,也叫万能引用&a…

网络安全竞赛——综合靶机渗透测试ZHCS-2全过程解析教程

任务一:综合靶机渗透测试 任务环境说明: 服务器场景:ZHCS-2(关闭连接)服务器场景操作系统:版本不详扫描目标靶机将靶机开放的所有端口,当作flag提交(例:21,22,23) FLAG:22,80 扫描目标靶机将靶机的http服务版本信息当作flag提交(例:apache 2.3.4) FLAG: ligh…

Vue3 Hooks函数使用及封装思想

目录 一. 什么是hooks函数? 二、如何封装一个hooks函数 三、Hooks 常用 Demo (1)验证码倒计时 (2)防抖 (3)节流 一. 什么是hooks函数? 专业解释:Vue 3中的Hooks函数…

Nucleo-F411RE (STM32F411)LL库体验 8 - PWM的使用

Nucleo-F411RE (STM32F411)LL库体验 8 - PWM的使用 1、简述 LD2连接PA5,而PA5可以映射TIM2_CH1,配合TIM2,可以输出PWM。 本片文章大量工作是添加了shell命令,可以通过pwm命令开关pwm以及设置pwm的频率&am…

数字图像处理期末考点整理(全)

计算:傅里叶变换,双线性插值,直方图均衡化,灰度共生矩阵,霍夫曼编码,区域增长/合并,中值滤波 简答:窗口/模板处理,BMP文件存储格式,滤波器和平滑算子的特点&…

Servlet (上篇)

哥几个来学 Servlet 啦 ~~ 目录 🌲一、什么是 Servlet 🌳二、第一个 Servlet 程序 🍇1. 创建项目 🍈2. 引入依赖 🍉3. 创建目录 🍊4. 编写代码 🍋5. 打包程序 🥭6. 部署程序…

client-go的Indexer三部曲之二:性能测试

欢迎访问我的GitHub 这里分类和汇总了欣宸的全部原创(含配套源码):https://github.com/zq2599/blog_demos 本篇概览 本文是《client-go的Indexer》系列的第二篇,在前文咱们通过实例掌握了client-go的Indexer的基本功能,本篇咱们尝试对下面这…

css小兔鲜项目搭建

目录 精灵图 精灵图的使用步骤 背景图片大小 background连写 文字阴影 盒子阴影 过渡 骨架标签 SEO三大标签 版心的介绍 css书写顺序 项目结构搭建 精灵图 场景:项目中将多张小图片,合并成一张大图片,这张大图片称之为精灵图 优点…

c语言实现 顺序存储和链式存储(几种链表)

目录 一、简介 二、一些问题 1、递归free 2、free单向循环链表: 3、free单向链表 4、free双向循环链表 5、free使用数组实现链式存储结构 6、sizeof()求字符串大小的问题 三、总结 一、简介 花了几天的时间从头开始使用c语言…

UnityVR--UIManager--UI管理2

目录 前言 UIManger的实现 1. 需要用到的变量和数据 2. 在构造中的工作 3. 初始化面板 4. 显示面板 5. 隐藏面板和隐藏所有面板 6. 其他小工具 在场景中实现 1. 不同面板的类型设置 2. 场景中的设置 前言 接前篇,上一篇已经有了UITools.cs其中定义了UI面板需…