问题标签 [chrome-datasaver]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
javascript - 检测是否从javascript启用了移动chrome的数据保存功能
在 android 设备上的移动 chrome 中,有一个名为“数据保存”的设置可从设置 > 数据保存访问。
启用后,读取媒体时的行为可能会略有不同,尤其是视频:在移动设备上禁止自动播放视频,除非视频已静音,但如果启用数据保存,则不再允许静音自动播放。
我需要一种方法来检测是否使用了数据保存,以便我可以更改我的视频播放器行为。
我知道在 http 请求中发送了一个标头:“save-data: on”但是我不知道有什么方法可以从 javascript 中读取 http 请求标头。
更多信息在这里: https ://developer.chrome.com/multidevice/data-compression
感谢您的任何回答。
android - 使用 Chrome 的数据保护程序访问 Symfony 应用程序会导致 BadRequestHttpException
在 Android 上使用 Chrome 的流量保护程序访问我的 Symfony 网站会生成错误 500。
这是日志
据我了解,Chrome 的数据保护程序在我的应用程序压缩代码和图像之前充当反向代理。
我阅读了这篇文档,了解如何在 Symfony 应用程序前使用反向代理。
问题是我没有找到任何关于 IP Chrome 数据保护程序代理正在使用的文档。
感谢帮助!
javascript - 如何检查移动 Chrome 浏览器中的流量节省程序是否开启?
在移动 Chrome 浏览器中打开流量节省程序选项时,网站的行为会有所不同。使用 JavaScript 确定是否启用数据保护程序的最佳方法是什么。
google-chrome - 使用流量节省程序在 Android Chrome 上自动播放 HTML5 视频
我正在构建一个学习应用程序。这有一个类似测验的界面,所以有很多屏幕。大多数屏幕都伴随着动画。考虑到质量和文件大小,.mp4 似乎是动画的最佳格式。但是,HTML 像:
如果流量节省程序已打开,则不会在 Chrome(最新版本)上自动播放。(它适用于 Firefox 和 Safari。)这些 .mp4 文件的大小约为 30 KB。我了解 Google 正试图阻止下载不必要的大量数据的背景视频。但是,就我而言,(i)每次都要求用户点击播放按钮;或者,(ii)要求她关闭隐藏在浏览器设置中某处的数据保护程序,这是糟糕的用户体验。
我在页面加载上尝试了 jQuery .load(),然后是 .play()。我创建了一个假按钮,可以在 onclick() 期间执行 .load() 和 .play(),并触发按钮单击页面加载等。似乎没有任何效果。即使打开数据保护程序也可以使视频自动播放的任何黑客行为?
python - 如果启用了 chrome 数据保护程序,则不显示 Django 消息
谷歌数据保护程序压缩数据以减少流量使用。它在移动 (android) chrome 中默认启用,并且可能在桌面 chrome 中用作插件。
GDS 在 django 上时不会显示消息。
我创建了一个示例应用程序(Python 3.5、Django 1.10.8、uwsgi+nginx)来捕获这个错误。这个应用程序在主页上有一个“提交”按钮,用于触发查看方法:
完整的应用程序源在这里。
fqtest.ru 提供已部署的应用程序
重现步骤:
- 部署到某个服务器(或使用我的 fqtest.ru)。不要忘记在 settigs.py 中指定允许的主机。
- 如果您有 chrome 数据保护程序插件,请关闭它或使用启动 ingognito 模式。
- 打开主页并单击 Go bitton。结果:消息按预期显示
- 打开数据保护插件或安装它(或从 android chrome 打开站点)
- 打开主页并单击 Go bitton。结果:应该显示的消息未显示。
问题:
- 这种行为的原因是什么?
- 如何修复/解决它?
希望得到帮助。谢谢!
javascript - 绕过 Chrome Android:LITE 模式(延迟加载) - 强制急切加载到整个网站
你好
我有一个用 Bootstrap4 制作的网站。工作正常,直到我检测到特定于Google Android Chrome 浏览器的错误- 以及他的默认LITE 模式。
如果我正确 Lite Mode = Lazy loading,则在需要时加载元素(我想通过滚动距离检测)。
但我有一个问题。这是一个单页 - 一个顶部有菜单的长网站。而且我无法从顶部“滚动到 ID”。好吧,我可以,但我总是得到一个不完美的滚动结果。如果我再次调用滚动功能 - 它现在会“准确地在应该的地方”。
所以我想:由于延迟加载开启,一些元素没有被渲染,所以 JQuery 的“滚动偏移”被破坏了......我滚动的“精确”越低,“滚动到 ID”功能就变成了。
但是对于根本不滚动但想要单击菜单并向下滚动的用户 - 如果他们在 android chrome 上打开了精简模式,他们就会遇到问题。
请问有什么办法告诉浏览器“不要在这里做延迟加载”吗?
编辑: 该项目在线,如果您想重新创建它,请按照以下步骤操作:( 需要带有 Chrome 的 Android 设备)
- 开启 LITE 版本。
- 打开新标签页(这很重要)
- 访问:https ://objednavka.pollitocheesecake.sk/
- 慢慢滚动到您将看到的第一个产品,然后按绿色 +
- 现在有一个新按钮“POKRACOVAT POPS UP”
- 单击它,您将被发送并在“部分之间”的“屏幕”上结束
如果您在 LITE MODE OFF 的情况下执行相同操作 - 您将在下一部分结束时没有任何问题。
注意:带有 NEW TAB 的部分很重要,在简单的重新加载时,精简版已经呈现页面并且导航即使在精简模式下也能正常工作。仅限第一次访问。
谢谢奥利弗