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

news2025/2/14 6:23:39

目录

      • 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/645343.html

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

相关文章

Linux之进程掩码 umask

目录 Linux之进程掩码 umask 最大权限 umask unmask作用 语法格式 参数及作用 umask存放位置 案例 示例1 --- 在shell进程中创建文件 示例2 --- 修改shell umask值(临时) 示例3 --- 修改shell umask值(永久) 示例4 ---…

机器人项目创新课题汇总提示

创新课题推荐自己思考并给出,如下案例仅供参考: 不想看,不愿意做,就遵循自己内心想法,做自己喜欢的事情吧。 题目和描述: 自动导航机器人:设计一种能够自主导航的机器人,可以在不需…

实验篇(7.2) 14. 站对站安全隧道 - 走对方宽带上网(FortiGate-IPsec) ❀ 远程访问

【简介】前面实验已经知道,FortiClient客户端拨号到远端防火墙,包括上网流量等所有流量都可以通过隧道到达远端防火墙,并从对方宽带上网。那么两台防火墙之间连接的安全隧道,可以实现这个功能吗? 实验要求与环境 OldMe…

BTree和B+Tree详解

BTree和BTree详解 B树索引是B树在数据库中的一种实现,是最常见也是数据库中使用最为频繁的一种索引。B树中的B代表平衡(balance),而不是二叉(binary),因为B树是从最早的平衡二叉树演化而来的。在讲B树之前必须先了解二叉查找树、平衡二叉树(…

群晖nas(DS423+)和百度云盘互相自动备份

群晖nas提供了云同步功能,使用该功能,可以将百度云盘和群晖nas设置成互为备份,这样我们nas上的的重要数据就有多了一层保护。 通过设置,可以将nas上的某个目录同步到百度云盘的一个目录中,同步的方向可以自行定义&…

springmvc整合thymeleaf

概述 Thymeleaf提供了一组Spring集成,使您可以将其用作Spring MVC应用程序中JSP的全功能替代品。 这些集成将使您能够: Controller像使用JSP一样,将Spring MVC 对象中的映射方法转发到Thymeleaf管理的模板。在模板中使用Spring表达式语言&…

win10中部署个人邮件服务器hMailServer

一、安装邮件服务器hMailServer hMailServer是一个免费的开源电子邮件服务器,适用于Microsoft Windows,本次实践以Windows10为例。hMailServer支持常见的电子邮件协议(IMAP、SMTP 和 POP3),并且可以轻松地与许多现有的 Web 邮件系统集成。它具有灵活的垃圾邮件保护,可以附…

Allegro PCB设计中:结构文件DXF导入、更新、PCB板框更改

1.将结构工程师输出的DXF文件导入到Allegro PCB设计中;文章来源地址https://www.yii666.com/blog/453846.html?action=onAll 2.结构文件DXF多次更改导致PCB板框尺寸涉及的修改; 1.Allegro导入结构DXF文件 Step1:首先进行单位精度设置,我们一般设置mil小数点二位;mm设置…

ROS-melodic:源码安裝teb_local_planner算法、替换DWA算法

一.安裝teb_local_planner算法 源码下载地址:GitHub - rst-tu-dortmund/teb_local_planner: An optimal trajectory planner considering distinctive topologies for mobile robots based on Timed-Elastic-Bands (ROS Package) 注意选择对应ROS版本的代码。 放在…

宝塔安装yapi

宝塔安装部署YApi图文教程,YApi旨在为开发、产品、测试人员提供更优雅的接口管理服务。可以帮助开发者轻松创建、发布、维护 API。 官方文档:https://hellosean1025.github.io/yapi/ 1.给宝塔安装PM2管理器同时安装node 下面看一下使用宝塔的PM2管理器…

掌握SQL注入利器:SQLMap使用入门教程及技巧分享

1、SQLMap安装与使用 SQLMap 是一个功能强大的自动化 SQL 注入工具,它可以用于检测和利用 SQL 注入漏洞。以下是 SQLMap 的使用教程的基本步骤: 1.安装 SQLMap: 首先,你需要从 SQLMap 的官方网站下载并安装 SQLMap 工具。根据你…

#2023开放原子全球开源峰会之旅

#2023我在开源峰会 2023开放原子全球开源峰会参会指南 嗨咯,大家好! 6月11号,是一年一度的开放原子大会,有幸参加,很开心! 文章目录 1、逛展区(领周边)环节1.1 CSDN展区1.2 阿里云 …

frp实现内网穿透(内网服务器到公网访问的方案)

目录 背景: 一、frp的简介 二、Frp Server的配置 三.Frp Client的配置 背景: 我使用python写了一个http后端,如代码所示,ip为10.1.136.73,port为8000,现在需要把http后端在公网可以被使用。一个较简单的方案是通过frp实现内网…

Centos7/Centos8安装Mysql8

​ 1.检测系统。 是否已经安装过mysql或其依赖,若已装过要先将其删除,否则第4步使用yum安装时会报错: # yum list installed | grep mysql若出现如下所示,则用第三行中的命令删掉mysql: # yum list installed | gr…

为什么超三成制造企业上市公司选择用友U9 cloud?

导读:30%制造企业上市公司和40%专精特新制造业上市公司都选择用友U9 cloud 当前,数智化转型已经成为中国制造重构竞争力、实现高质量发展的必经之路。《“十四五”智能制造发展规划》提出,到2025年,70%的规模以上制造业企业基本实…

命名管道:FIFO

至此,我们还只能在相关的程序之间传递数据,即这些程序是由一个共同的祖先进程启动的。但如果我们想在不相关的进程之间交换数据,这还不是很方便。 我们可以用FIFO文件来完成这项工作,它通常也被称为命名管道(named pip…

一文看尽所有生成式模型:9大类别21个模型全回顾! DALL-E 2、Text-to-3D模型

DALL-E 2 由OpenAI开发的DALL-E 2能够从由文本描述组成的提示中生成原始、真实、逼真的图像和艺术,而且OpenAI已经对外提供了API来访问该模型。 DALL-E 2特别之处在于它能够将概念、属性和不同风格结合起来,其能力源于语言-图像预训练模型CLIP神经网络…

【SCI/EI录用案例】2区快刊1个月22天录用,新增5篇录用、1篇见刊、8篇检索

2023年6月3日-2023年6月9日 经核实,由我处Unionpub学术推荐的5篇论文已被期刊部录用、1篇见刊、8篇检索,以下是部分案例展示: 2区智能算法类SCI&EI 【期刊简介】IF:4.0-5.0,JCR2区,中科院3区 【检索情况】SCI&…

Win10底部任务栏无响应,跟着这3个方法做!

我的电脑型号是win10的,但最近我使用电脑时,出现了一件非常奇怪的事情,我点击桌面底部的任务栏,它不仅无响应,有时还会卡顿很久,不知道遇到win10底部任务栏无响应的情况应该怎么做呢?希望大家给…

AIGC繁花,绽放在精耕的算力土壤之上

2023年的春天,称得上一句AI之春。大模型成为技术力量新的爆发点,生成式AI(AIGC)应用风起云涌。 产业界争先恐后训大模型之际,广大用户最大的困惑是——发布了,但就是玩不到啊! OpenAI有地域限制…