问题标签 [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.

0 投票
3 回答
3610 浏览

javascript - 检测是否从javascript启用了移动chrome的数据保存功能

在 android 设备上的移动 chrome 中,有一个名为“数据保存”的设置可从设置 > 数据保存访问。

启用后,读取媒体时的行为可能会略有不同,尤其是视频:在移动设备上禁止自动播放视频,除非视频已静音,但如果启用数据保存,则不再允许静音自动播放。

我需要一种方法来检测是否使用了数据保存,以便我可以更改我的视频播放器行为。

我知道在 http 请求中发送了一个标头:“save-data: on”但是我不知道有什么方法可以从 javascript 中读取 http 请求标头。

更多信息在这里: https ://developer.chrome.com/multidevice/data-compression

感谢您的任何回答。

0 投票
1 回答
4229 浏览

android - 调试时禁用 chrome 数据保护程序

我正在尝试在我的电脑上使用 chrome 开发工具检查 chrome for Android 上的网站。

首先,我检查了 Android 上的 chrome 禁用了数据保护程序,它是

截屏

然后,我将手机与电脑连接,运行 chrome 开发工具,我收到警告

考虑在调试时禁用 Chrome 数据保护程序。

如果 Android 版 chrome 上的数据保护程序被禁用,为什么我会收到此消息?

问题是调试是不可能的,因为我得到一个空白屏幕

截图调试器

我怎样才能解决这个问题?

0 投票
2 回答
549 浏览

android - 使用 Chrome 的数据保护程序访问 Symfony 应用程序会导致 BadRequestHttpException

在 Android 上使用 Chrome 的流量保护程序访问我的 Symfony 网站会生成错误 500。

这是日志

据我了解,Chrome 的数据保护程序在我的应用程序压缩代码和图像之前充当反向代理。

我阅读了这篇文档,了解如何在 Symfony 应用程序前使用反向代理

问题是我没有找到任何关于 IP Chrome 数据保护程序代理正在使用的文档。

感谢帮助!

0 投票
3 回答
1180 浏览

javascript - 如何检查移动 Chrome 浏览器中的流量节省程序是否开启?

在移动 Chrome 浏览器中打开流量节省程序选项时,网站的行为会有所不同。使用 JavaScript 确定是否启用数据保护程序的最佳方法是什么。

0 投票
1 回答
2615 浏览

google-chrome - 使用流量节省程序在 Android Chrome 上自动播放 HTML5 视频

我正在构建一个学习应用程序。这有一个类似测验的界面,所以有很多屏幕。大多数屏幕都伴随着动画。考虑到质量和文件大小,.mp4 似乎是动画的最佳格式。但是,HTML 像:

如果流量节省程序已打开,则不会在 Chrome(最新版本)上自动播放。(它适用于 Firefox 和 Safari。)这些 .mp4 文件的大小约为 30 KB。我了解 Google 正试图阻止下载不必要的大量数据的背景视频。但是,就我而言,(i)每次都要求用户点击播放按钮;或者,(ii)要求她关闭隐藏在浏览器设置中某处的数据保护程序,这是糟糕的用户体验。

我在页面加载上尝试了 jQuery .load(),然后是 .play()。我创建了一个假按钮,可以在 onclick() 期间执行 .load() 和 .play(),并触发按钮单击页面加载等。似乎没有任何效果。即使打开数据保护程序也可以使视频自动播放的任何黑客行为?

0 投票
0 回答
47 浏览

python - 如果启用了 chrome 数据保护程序,则不显示 Django 消息

谷歌数据保护程序压缩数据以减少流量使用。它在移动 (android) chrome 中默认启用,并且可能在桌面 chrome 中用作插件。

GDS 在 django 上时不会显示消息。

我创建了一个示例应用程序(Python 3.5、Django 1.10.8、uwsgi+nginx)来捕获这个错误。这个应用程序在主页上有一个“提交”按钮,用于触发查看方法:

完整的应用程序源在这里

fqtest.ru 提供已部署的应用程序

重现步骤:

  1. 部署到某个服务器(或使用我的 fqtest.ru)。不要忘记在 settigs.py 中指定允许的主机。
  2. 如果您有 chrome 数据保护程序插件,请关闭它或使用启动 ingognito 模式。
  3. 打开主页并单击 Go bitton。结果:消息按预期显示
  4. 打开数据保护插件或安装它(或从 android chrome 打开站点)
  5. 打开主页并单击 Go bitton。结果:应该显示的消息未显示。

问题:

  1. 这种行为的原因是什么?
  2. 如何修复/解决它?

希望得到帮助。谢谢!

0 投票
0 回答
268 浏览

javascript - 绕过 Chrome Android:LITE 模式(延迟加载) - 强制急切加载到整个网站

你好

我有一个用 Bootstrap4 制作的网站。工作正常,直到我检测到特定于Google Android Chrome 浏览器的错误- 以及他的默认LITE 模式。

如果我正确 Lite Mode = Lazy loading,则在需要时加载元素(我想通过滚动距离检测)。

但我有一个问题。这是一个单页 - 一个顶部有菜单的长网站。而且我无法从顶部“滚动到 ID”。好吧,我可以,但我总是得到一个不完美的滚动结果。如果我再次调用滚动功能 - 它现在会“准确地在应该的地方”。

所以我想:由于延迟加载开启,一些元素没有被渲染,所以 JQuery 的“滚动偏移”被破坏了......我滚动的“精确”越低,“滚动到 ID”功能就变成了。

但是对于根本不滚动但想要单击菜单并向下滚动的用户 - 如果他们在 android chrome 上打开了精简模式,他们就会遇到问题。

请问有什么办法告诉浏览器“不要在这里做延迟加载”吗?

编辑: 该项目在线,如果您想重新创建它,请按照以下步骤操作:( 需要带有 Chrome 的 Android 设备)

  1. 开启 LITE 版本。
  2. 打开新标签页(这很重要)
  3. 访问:https ://objednavka.pollitocheesecake.sk/
  4. 慢慢滚动到您将看到的第一个产品,然后按绿色 +
  5. 现在有一个新按钮“POKRACOVAT POPS UP”
  6. 单击它,您将被发送并在“部分之间”的“屏幕”上结束

如果您在 LITE MODE OFF 的情况下执行相同操作 - 您将在下一部分结束时没有任何问题。

注意:带有 NEW TAB 的部分很重要,在简单的重新加载时,精简版已经呈现页面并且导航即使在精简模式下也能正常工作。仅限第一次访问。

谢谢奥利弗