科技公司 网站设计经典案例,北京seo优化网站建设,wordpress商城支付宝,如何在海外进行推广在我的网络应用中#xff0c;我有一些缩略图#xff0c;可在单击时打开一个灯箱。 在移动设备上#xff0c;缩略图很小#xff0c;用户通常会放大。问题是#xff0c;单击播放时#xff0c;灯箱在可见区域之外(他们必须滚动到灯箱才能观看视频)。 是否可以强制移动浏览器…在我的网络应用中我有一些缩略图可在单击时打开一个灯箱。 在移动设备上缩略图很小用户通常会放大。问题是单击播放时灯箱在可见区域之外(他们必须滚动到灯箱才能观看视频)。 是否可以强制移动浏览器缩小以使他们可以看到整个页面现在还不能使页面更具响应性 它是一个相当大的Web应用程序需要大量时间进行重构。也许这可以帮助您stackoverflow.com/questions/17440196/我之前看过该帖子但我认为它不会对我有所帮助。 我指的是移动设备可以执行的捏缩放而不是使用CSS缩放。 作为替代方案是否可以检测浏览器的缩放级别 AFAIK诸如detect-zoom之类的工具已被较新版本的浏览器破坏。仔细研究许多其他问题尝试缩小内容以适合整个页面。这个问题与我的需求最相关但没有答案。我找到了一个类似的问题尽管有不同的实现方式但有解决方案而不是我所需要的。我想出了这一点它似乎至少在Android中可以使用。initial-scale0.1真的缩小得很远。应该显示整个网站(然后再显示一些)width1200覆盖初始比例将设备宽度设置为1200。您需要将1200更改为站点的宽度。如果您的网站具有响应能力那么您可以仅使用initial-scale1。但是如果您的网站具有响应能力则可能一开始就不需要。function zoomOutMobile() {var viewport document.querySelector(meta[nameviewport]);if ( viewport ) {viewport.content initial-scale0.1;viewport.content width1200;}}zoomOutMobile();对于我来说这很好地调整了Android和Windows Phone上的视口的大小。 谢谢不错的脚本 非常感谢可以在所有设备(AndroidiPhoneiPadWindows Phone)上使用 (不要忘记将其放在html的末尾)我猜我遇到了类似的问题相反但解决方案肯定是相同的。就我而言我有一个缩略图人们可以单击该缩略图然后打开一个弹出窗口用户可能会放大该窗口以查看更好的图像完成后我想以1.0的比例返回到正常页面。为此我四处张望直到我了解发生了什么然后可以编写正确的代码。元数据中的视口定义是实时值。更改后系统将考虑新值并相应地修复渲染。但是GUI会检测到更改时并且在运行JavaScript代码时GUI线程通常被阻止...考虑到这一点这意味着这样做会失败viewport jQuery(meta[nameviewport]);original viewport.attr(content);force_scale original , maximum-scale1;viewport.attr(content, force_scale); // IGNORED!viewport.attr(content, original);因此由于我发现固定比例尺的唯一方法是通过进行不想保留的更改来强制调整比例尺因此必须将其重置为原始尺寸。但是中间的更改不会被查看并采取行动(极大的优化)那么我们如何解决该问题呢我使用了setTimeout()函数viewport jQuery(meta[nameviewport]);original viewport.attr(content);force_scale original , maximum-scale1;viewport.attr(content, force_scale);setTimeout(function(){viewport.attr(content, original);}, 100);在这里我会睡100毫秒然后将视口重设为我认为正常的水平。这样视口将考虑maximum-scale1参数然后超时并删除该参数。在此过程中缩放比例又变回了1还原我的原始文档(没有maximum-scale参数)可以按预期工作(即我可以再次缩放界面)。警告1如果原始文件中有一个maximum-scale参数则可能要替换它而不是像在我的示例代码中那样在末尾附加另一个值。 (即force_scale original.replace(/maximum-scale[^,]/,maximum-scale1)会进行替换-但仅在已有maximum-scale时才起作用因此您可能需要首先检查以允许出现任何一种情况。)警告2我尝试使用0ms而不是100ms但是它失败了。每种浏览器的浏览器可能有所不同但是Mozilla系列会立即运行立即超时的计时器代码这意味着GUI进程将永远不会有机会在执行重置视口的功能之前将比例重置为1。我也确实知道一种方法来知道当前的视口值是由GUI处理的...(不幸的是这是一个hack)。类似于Radley Sustaire的解决方案无论何时使用React和zoomOutMobile () {const viewport document.querySelector(meta[nameviewport]);if ( viewport ) {viewport.content initial-scale1;viewport.content widthdevice-width;}}在我的渲染器中this.zoomOutMobile();我发现的一种边缘情况是这在Firefox移动浏览器上不起作用var zoomreset function() {var viewport document.querySelector(meta[nameviewport]);viewport.content width650, maximum-scale0.635;setTimeout(function() {viewport.content width650, maximum-scale1;}, 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到屏幕并防止滚动。但这不是一个好主意并且并非在所有地方都能奏效。