在我的网络应用中,我有一些缩略图,可在单击时打开一个灯箱。 在移动设备上,缩略图很小,用户通常会放大。问题是,单击播放时,灯箱在可见区域之外(他们必须滚动到灯箱才能观看视频)。 是否可以强制移动浏览器缩小以使他们可以看到整个页面?

现在还不能使页面更具响应性; 它是一个相当大的Web应用程序,需要大量时间进行重构。

也许这可以帮助您?stackoverflow.com/questions/17440196/

我之前看过该帖子,但我认为它不会对我有所帮助。 我指的是移动设备可以执行的捏缩放,而不是使用CSS缩放。 作为替代方案,是否可以检测浏览器的缩放级别? AFAIK,诸如detect-zoom之类的工具已被较新版本的浏览器破坏。

仔细研究许多其他问题,尝试缩小内容以适合整个页面。这个问题与我的需求最相关,但没有答案。我找到了一个类似的问题,尽管有不同的实现方式,但有解决方案,而不是我所需要的。

我想出了这一点,它似乎至少在Android中可以使用。

initial-scale=0.1:真的缩小得很远。应该显示整个网站(然后再显示一些)

width=1200:覆盖初始比例,将设备宽度设置为1200。

您需要将1200更改为站点的宽度。如果您的网站具有响应能力,那么您可以仅使用initial-scale=1。但是,如果您的网站具有响应能力,则可能一开始就不需要。

function zoomOutMobile() {

var viewport = document.querySelector('meta[name="viewport"]');

if ( viewport ) {

viewport.content ="initial-scale=0.1";

viewport.content ="width=1200";

}

}

zoomOutMobile();

对于我来说,这很好地调整了Android和Windows Phone上的视口的大小。 谢谢!

不错的脚本! 非常感谢,可以在所有设备(Android,iPhone,iPad,Windows Phone)上使用!! (不要忘记将其放在html的末尾)

我猜我遇到了类似的问题,相反,但解决方案肯定是相同的。就我而言,我有一个缩略图,人们可以单击该缩略图,然后打开一个"弹出"窗口,用户可能会放大该窗口以查看更好的图像,完成后,我想以1.0的比例返回到正常页面。

为此,我四处张望,直到我了解发生了什么,然后可以编写正确的代码。

元数据中的视口定义是实时值。更改后,系统将考虑新值并相应地修复渲染。但是,GUI会检测到"更改时",并且在运行JavaScript代码时,GUI线程通常被阻止...

考虑到这一点,这意味着这样做会失败:

viewport = jQuery("meta[name='viewport']");

original = viewport.attr("content");

force_scale = original +", maximum-scale=1";

viewport.attr("content", force_scale); // IGNORED!

viewport.attr("content", original);

因此,由于我发现固定比例尺的唯一方法是通过进行不想保留的更改来强制调整比例尺,因此必须将其重置为原始尺寸。但是中间的更改不会被查看并采取行动(极大的优化!),那么我们如何解决该问题呢?我使用了setTimeout()函数:

viewport = jQuery("meta[name='viewport']");

original = viewport.attr("content");

force_scale = original +", maximum-scale=1";

viewport.attr("content", force_scale);

setTimeout(function()

{

viewport.attr("content", original);

}, 100);

在这里,我会睡100毫秒,然后将视口重设为我认为正常的水平。这样,视口将考虑maximum-scale=1参数,然后超时并删除该参数。在此过程中,缩放比例又变回了1,还原我的原始文档(没有maximum-scale参数)可以按预期工作(即,我可以再次缩放界面)。

警告1:如果原始文件中有一个maximum-scale参数,则可能要替换它,而不是像在我的示例代码中那样在末尾附加另一个值。 (即force_scale = original.replace(/maximum-scale=[^,]+/,"maximum-scale=1")会进行替换-但仅在已有maximum-scale时才起作用,因此您可能需要首先检查以允许出现任何一种情况。)

警告2:我尝试使用0ms而不是100ms,但是它失败了。每种浏览器的浏览器可能有所不同,但是Mozilla系列会立即运行立即超时的计时器代码,这意味着GUI进程将永远不会有机会在执行重置视口的功能之前将比例重置为1。我也确实知道一种方法来知道当前的视口值是由GUI处理的...(不幸的是,这是一个hack)。

类似于Radley Sustaire的解决方案,无论何时使用React和

zoomOutMobile = () => {

const viewport = document.querySelector('meta[name="viewport"]');

if ( viewport ) {

viewport.content = 'initial-scale=1';

viewport.content = 'width=device-width';

}

}

在我的渲染器中

this.zoomOutMobile();

我发现的一种边缘情况是这在Firefox移动浏览器上不起作用

var zoomreset = function() {

var viewport = document.querySelector("meta[name='viewport']");

viewport.content ="width=650, maximum-scale=0.635";

setTimeout(function() {

viewport.content ="width=650, maximum-scale=1";

}, 350);

}

setTimeout(zoomreset, 150);

用页面宽度替换650

这个对我有用

let sw = window.innerWidth;

let bw = $('body').width();

let ratio = sw / bw - 0.01;

$('html').css('zoom', ratio);

$('html').css('overflow-x', 'hidden');

它适合HTML到屏幕并防止滚动。但这不是一个好主意,并且并非在所有地方都能奏效。

java浏览器拖拽_使用Java强制移动浏览器缩小相关推荐

  1. java项目----教务管理系统_基于Java的教务管理系统

    java项目----教务管理系统_基于Java的教务管理系统 2022-04-22 18:18·java基础 最近为客户开发了一套学校用教务管理系统,主要实现学生.课程.老师.选课等相关的信息化管理功 ...

  2. java cms 拖拽布局_鼠标拖拽就能轻松建站 We7 CMS评测

    We7 CMS是由西部动力推出的一套采用C#开发的,基于.net2.0,可以运行于Oracle.SQLite.Sqlserver.MySQL.Access等数据库之上的网站内容管理系统软件(Conte ...

  3. java 鼠标拖拽事件_Java实现鼠标拖拽移动界面组件

    默认的,Frame或者JFrame自身已经实现了鼠标拖拽标题栏移动窗口的功能. 只是,当你不满意java的JFrame样式,隐藏了标题栏和边框,又或者干脆直接使用JWindow,那你又该怎么实现鼠标拖 ...

  4. 类似360浏览器 拖拽插件_又一个好用的能上谷歌学术的插件,收藏吧。!

    前段时间,给大家安利了一个能上谷歌学术的插件: 大飞鸽软件助手:一个插件,让你轻松浏览谷歌学术,助力科研!​zhuanlan.zhihu.com 废话不多说,今天再次安利一个能够上谷歌学术的插件. 这 ...

  5. java 鼠标拖拽_JavaScript DOM 鼠标拖拽

    拖拽效果基于鼠标事件:mousedown.mousemove.mouseup 分别为鼠标按下.鼠标移动.鼠标松开 原理:鼠标按下时,添加鼠标移动.鼠标松开的事件处理函数,鼠标移动时获取鼠标坐标,改变元 ...

  6. java是什么格式_是java格式

    错误:编码GBK的不可映射字符的解决办法 最近在重新补javaSE的基础,编辑器编写完代码以后,在控制台运行代码段的时候,出现了以下的错误提示:错误:编码GBK的不可映射字符 在通过查询谷哥和度娘以后 ...

  7. java ee开发环境_设置Java EE 6开发环境

    java ee开发环境 本教程简要说明了如何设置典型的环境来开发基于Java EE 6的应用程序. 除了可以正常工作的Windows XP客户端具有足够的CPU能力和内存外,本教程没有其他先决条件. ...

  8. java applet怎么运行_配置Java Applet的运行环境

    Java小程序,也就是Java Applet,可以在Web浏览器中运行.Java Applet必须以脚本的形式嵌入到HTML页面中,才能在web浏览器中运行. 之前总以为本地安装了JDK,指定好JAV ...

  9. java 中文问号问题_解决java中的中文乱码问题(ZT)

    一般在传送时使用的encoding:使用GET 的方式: String test = new String((request.getParameter("test")).getBy ...

最新文章

  1. ios项目文件结构 目录的整理
  2. [附下载]英特尔中国研究院携手生态伙伴发布《机器人4.0白皮书》
  3. 聊聊网络游戏同步那点事
  4. 产品经理十八章:产品创新能力(二)
  5. 2018 美团、腾讯、头条、蔚来 社招面试随谈
  6. 2016蓝桥杯省赛---java---B---7(剪邮票)
  7. MATLAB double、str、cell间的类型转换
  8. CVPR 2020 Oral | 旷视提出目前最好的密集场景目标检测算法:一个候选框,多个预测结果...
  9. iPhone 12系列又有新变化:免费的有线耳机可能不再有
  10. 细说php一些常见的知识点
  11. 项目中js文件修改后浏览器不能及时更新的解决办法
  12. ASP经典分页类(改良后的分页类主要是显示属性)
  13. exec和source的区别
  14. 拓端tecdat|Matlab正态分布、历史模拟法、加权移动平均线 EWMA估计风险价值VaR和回测Backtest标准普尔指数 SP500时间序列
  15. Ubuntu 定时锁屏3.0
  16. 小学课本的“七桥问题”
  17. latex里图片大小如何调整_LATEX图片位置调整
  18. allergro音乐术语什么意思_音乐术语
  19. 代码“可读性”到底有多重要?
  20. matlab系统辨识工具箱原理,matlab常用工具箱介绍

热门文章

  1. c++远征之多态篇——虚函数及其实现原理
  2. sd_fusing.sh将uboot烧写到SD卡
  3. linux上perl怎么传输参数,如何在perl子函数中传递参数?
  4. Spring简洁总结
  5. Javascript中NaN、null和undefinded的区别
  6. AOJ 6.Hero In Maze
  7. T4生成实体和简单的CRUD操作
  8. nyoj_66_分数拆分_201312012122
  9. jsp用tags传递参数
  10. 公开发布版的Windows Azure 基础结构服务中的 SQL Server – 文档和最佳实践(已更新),还有即将发布的博客...