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

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

现在还不能使页面更具响应性; 它是一个相当大的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到屏幕并防止滚动。但这不是一个好主意,并且并非在所有地方都能奏效。

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

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

相关文章

Git学习笔记01--初始化设置

1、查看git版本 $ git --version 2、设置用户姓名和邮箱 $ git config --global user.name “Craftor” $ git config --global usrer.email “craftor0924gmail.com” 3、设置命令别名 $ git config --system alias.st status $ git config --system alias.ci commit $ git co…

LeetCode 1944. 队列中可以看到的人数(单调栈)

文章目录1. 题目2. 解题1. 题目 有 n 个人排成一个队列,从左到右 编号为 0 到 n - 1 。 给你以一个整数数组 heights ,每个整数 互不相同,heights[i] 表示第 i 个人的高度。 一个人能 看到 他右边另一个人的条件是这两人之间的所有人都比他…

yolov2训练_一文看懂YOLO v2

我的CSDN博客:https://blog.csdn.net/litt1e我的公众号:工科宅生活概述新的YOLO版本论文全名叫“YOLO9000: Better, Faster, Stronger”,相较于YOLO主要有两个大方面的改进:第一,作者使用了一系列的方法对原来的YOLO多…

mysql 字符串搜_mysql – 在表中搜索字符串的SQL查询?

嗨,我想在存储在mysql数据库中的表中搜索特定的字符串.表格结构如下: –--------------------------------------------------------------------------| day | 9-10 | 10-11 | 11-12 | 12-1 | 1-2 | 2-3 | 3-4 ||------------------------------------------------…

python语言画心_python语言还是java如何用python画爱心

用python绘制爱心的基本步骤如下:002pc.com对《python语言还是java如何用python画爱心》总结来说,为我们学习Python很实用。首先先下载安装好python程序。在我们自己的电脑上找到python 的IDLE工具。2.然后打开IDLE,新建一个文件,命名为test1…

java的foeachr循环_for循环和Dowhile循环的应用

DoWhile循环{public static void main(String[] args) {int i 0;int sum 0;do {sum sum i;i;} while (i < 100);System.out.println(sum);}}{int a 0;while (a<0){System.out.println(a);a;}System.out.println("");do {System.out.println(a);a;}while (…

LeetCode 1945. 字符串转化后的各位数字之和

文章目录1. 题目2. 解题1. 题目 给你一个由小写字母组成的字符串 s &#xff0c;以及一个整数 k 。 首先&#xff0c;用字母在字母表中的位置替换该字母&#xff0c;将 s 转化 为一个整数&#xff08;也就是&#xff0c;‘a’ 用 1 替换&#xff0c;‘b’ 用 2 替换&#xff…

codeforces 303 div2 E

赤裸裸的最短路&#xff0c;需要注意下枚举过程就好了。直接贴上别人的代码&#xff0c;发现他的代码挺符合我的风格&#xff0c;以后就这样写了。#include <bits/stdc.h>using namespace std;struct node{int y,z,id;node(){}node(int y,int z,int id):y(y),z(z),id(id)…

LeetCode 1955. 统计特殊子序列的数目

文章目录1. 题目2. 解题1. 题目 特殊序列 是由 正整数 个 0 &#xff0c;紧接着 正整数 个 1 &#xff0c;最后 正整数 个 2 组成的序列。 比方说&#xff0c;[0,1,2] 和 [0,0,1,1,1,2] 是特殊序列。 相反&#xff0c;[2,1,0] &#xff0c;[1] 和 [0,1,2,0] 就不是特殊序列。…

java 中batch_java相关:Mybatis中使用updateBatch进行批量更新

java相关&#xff1a;Mybatis中使用updateBatch进行批量更新发布于 2020-7-13|复制链接摘记: 背景描述&#xff1a;通常如果需要一次更新多条数据有两个方式&#xff0c;(1)在业务代码中循环遍历逐条更新。(2)一次性更新所有数据(更准确的说是一条sql语句来更新所有数据&#x…

win7家庭版远程桌面补丁_无需惊慌!微软漏洞数月后再被“预警”打补丁即可防御...

9月7日&#xff0c;火绒接到用户反馈&#xff0c;咨询多家安全友商相继发布的漏洞预警一事。经火绒工程师确认&#xff0c;该漏洞(CVE-2019-0708)早在5月14日就已经被微软披露过&#xff0c;火绒也在第一时间发布了相关漏洞预警&#xff0c;并向火绒用户推送该漏洞补丁。此次多…

LeetCode 1954. 收集足够苹果的最小花园周长(数学)

文章目录1. 题目2. 解题1. 题目 给你一个用无限二维网格表示的花园&#xff0c;每一个 整数坐标处都有一棵苹果树。 整数坐标 (i, j) 处的苹果树有 ∣i∣∣j∣|i| |j|∣i∣∣j∣个苹果。 你将会买下正中心坐标是 (0, 0) 的一块 正方形土地 &#xff0c;且每条边都与两条坐标…

python api数据接口_python写数据api接口

{"moduleinfo":{"card_count":[{"count_phone":1,"count":1}],"search_count":[{"count_phone":4,"count":4}]},"card":[{"des":"阿里技术人对外发布原创技术内容的最大平台&…

java星座测试需求分析_java十二星座 (快来测试你是什么星座吧)

无聊写个十二星座。。我发现我好像都是无聊的时候学习的。。。package 十二星座;import java.awt.*;import javax.swing.*;import java.awt.event.*;public class 十二星座 {public static void main(String args[]){new Fram();}}class Fram extends JFrame implements Action…

【转载】Ubuntu终端常用的快捷键

Ubuntu中的许多操作在终端&#xff08;Terminal&#xff09;中十分的快捷&#xff0c;记住一些快捷键的操作更得心应手。在Ubuntu中打开终端的快捷键是CtrlAltT。其他的一些常用的快捷键如下&#xff1a; 快捷键功能Tab自动补全Ctrla光标移动到开始位置Ctrle光标移动到最末尾Ct…

LeetCode 1953. 你可以工作的最大周数

文章目录1. 题目2. 解题1. 题目 给你 n 个项目&#xff0c;编号从 0 到 n - 1 。 同时给你一个整数数组 milestones &#xff0c;其中每个 milestones[i] 表示第 i 个项目中的阶段任务数量。 你可以按下面两个规则参与项目中的工作&#xff1a; 每周&#xff0c;你将会完成 …

vim查找关键字_VIM学习笔记 对话框(Dialog)

查找对话框使用以下命令&#xff0c;将会打开一个查找对话框&#xff1a;:promptfind [string]如果在命令中指定了[string]值&#xff0c;那么就会查找该字符串&#xff1b;如果没有指定[string]值&#xff0c;那么将会查找上次搜索的字符串。替换对话框使用以下命令&#xff0…

oldboy_09_03day

1、split 分割 2、内置函数 __name__ ------- 主动执行还是被其他程序调用&#xff1b; 本程序内 __name__ 值为 __main__ ;其他程序调用时&#xff0c;__文件名__ __file__ 当前文件路径、是文件的相对路径 __doc__ 当前程序说明文档 3、函数 def、形式参数 def test( a,*b)…

LeetCode 1952. 三除数

文章目录1. 题目2. 解题1. 题目 给你一个整数 n 。如果 n 恰好有三个正除数 &#xff0c;返回 true &#xff1b;否则&#xff0c;返回 false 。 如果存在整数 k &#xff0c;满足 n k * m &#xff0c;那么整数 m 就是 n 的一个 除数 。 示例 1&#xff1a; 输入&#xff…

Java充电宝模型设计_继续探讨点赞功能模块设计

继续探讨点赞功能模块设计前几天我们设计了点赞模块的模块&#xff0c;大致思路就是&#xff1a;用户点赞&#xff0c;首先缓存到redis中进行保存&#xff0c;redis中既要保存点赞总数&#xff0c;还要保存点赞记录。然后定时执行redis数据到数据库中。但是&#xff0c;今天在资…