当前位置: 首页 > 面试题库 >

我可以即时更改移动浏览器中的视口元标记吗?

范凡
2023-03-14
问题内容

我有一个为移动Safari浏览器构建的AJAX应用,该应用需要显示不同类型的内容。

对于某些内容,我需要user-scalable=1,对于其他内容,我需要user-scalable=0

有没有一种方法可以在不刷新页面的情况下修改content属性的值?

<meta name="viewport" content="width=device-width; initial-scale=1.0; maximum-scale=1.0; user-scalable=0;" />

问题答案:

我意识到这有点老了,但是可以。一些JavaScript可以帮助您入门:

viewport = document.querySelector("meta[name=viewport]");
viewport.setAttribute('content', 'width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0');

只需更改所需的部件,Mobile Safari就会尊重新设置。

更新:

如果您的源代码中还没有meta视口标签,则可以直接将其附加如下内容:

var metaTag=document.createElement('meta');
metaTag.name = "viewport"
metaTag.content = "width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0"
document.getElementsByTagName('head')[0].appendChild(metaTag);

或者,如果您使用的是jQuery:

$('head').append('<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0">');


 类似资料:
  • 我正在用Html和JavaScript制作一个项目。我想知道是否有可能通过JavaScript改变浏览器的视口大小。 谢谢!:)

  • 这篇文章描述了原始文件中编号标签的用途,在序列化和反序列化数据时基本上匹配字段。我的问题是:如果我更改现有字段的编号会发生什么? 举同样的例子,假设这是原始数据 我想添加一个新字段,在分页字段之前添加这个字段在逻辑上是有意义的-如果我还没有使用

  • 问题内容: 是否可以通过在指令范围内传递值来即时更改templateUrl?我想将数据传递到控制器,该控制器将根据从指令传递的数据来呈现页面 可能看起来像这样: 问题答案: 有可能,但是当要加载的模板取决于某些范围数据时,您将无法再使用指令的属性,并且您将不得不使用较低级别的API,即和。 大约需要做的事情(仅在链接功能中是可能的)是使用(不要忘了参与!)检索模板的内容,然后“手动”编译模板的内容

  • 我从Font Awesome下载了一个SVG文件,我将它呈现为: 但是SVG呈现为黑色,这不是我需要的颜色。我可以打开SVG文件并手动更改颜色,但是如果我需要相同的黑色SVG,我需要创建一个副本并将颜色再次更改为黑色。 这就是为什么我想知道是否可以使用CSS动态地改变颜色?

  • 问题内容: 我已经创建了一个简单的 应用程序(使用),带有联系表单,当用户单击“提交”时,我想生成并发送电子邮件。为此,我一直试图像这样使用: …但是我在导入过程中遇到了很多错误。 我是否在这里缺少某些东西,或者根本不是为在浏览器中使用而设计的?如果是这种情况,我应该考虑其他选择吗? 问题答案: node.js用于服务器端JavaScript,它允许您执行浏览器无法完成的许多工作。 除了mailt

  • 问题内容: 当我有一个带有可滚动内容的网页时。使用css属性“ overflow:auto”或“ overflow:visible”,滚动条在桌面浏览器上可见,但是当我在移动浏览器上打开页面时,滚动条仅在尝试滚动时出现。有没有一种方法可以使滚动条在移动设备上始终可见?我尝试了一些JQuery库,但是都没有用。 html代码是微不足道的,我有一个带有IFrame的可滚动div: CSS: 问题答案: