Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/72.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何在移动Chrome浏览器中检查数据保护程序是否打开?_Javascript_Html_Google Chrome_Chrome Datasaver - Fatal编程技术网

Javascript 如何在移动Chrome浏览器中检查数据保护程序是否打开?

Javascript 如何在移动Chrome浏览器中检查数据保护程序是否打开?,javascript,html,google-chrome,chrome-datasaver,Javascript,Html,Google Chrome,Chrome Datasaver,当手机Chrome浏览器中的“数据保护程序”选项打开时,网站的行为会有所不同。确定是否使用JavaScript启用数据保护程序的最佳方法是什么。来自常见问题解答 我是否可以检测用户是否启用了数据压缩代理 是的,有点。截至2016年2月2日Chrome 49(测试版,预计稳定日期 3月底)当用户在Chrome中启用数据保护功能时, Chrome将向每个HTTP添加一个值为“开”的保存数据HTTP头 要求关闭该功能时,HTTP标头将不存在。 将此作为用户的意图信号,表明他们意识到 他们正在使用的数据

当手机Chrome浏览器中的“数据保护程序”选项打开时,网站的行为会有所不同。确定是否使用JavaScript启用数据保护程序的最佳方法是什么。

来自常见问题解答

我是否可以检测用户是否启用了数据压缩代理

是的,有点。截至2016年2月2日Chrome 49(测试版,预计稳定日期 3月底)当用户在Chrome中启用数据保护功能时, Chrome将向每个HTTP添加一个值为“开”的保存数据HTTP头 要求关闭该功能时,HTTP标头将不存在。 将此作为用户的意图信号,表明他们意识到 他们正在使用的数据量,而不是他们正在连接的数据量 通过数据压缩代理。例如,HTTP头将是 当用户通过HTTPS访问站点时设置,即使是安全连接 未通过数据压缩代理传递


正如常见问题解答中所建议的,我已尝试扫描标题列表,并检查是否存在
保存数据
参数

我在Mobile Chrome中获得以下标题

通过扫描此数据,如果
保存数据
标题在那里,我们可以假定
数据保存程序
处于打开状态

/*
*这是PHP代码
*单击“运行代码段”将不起作用
*将此代码作为.php文件托管在php服务器上
*/
现在在2018年,您可以在JS中检测数据保存选项,如下所示:

if ("connection" in navigator) {
    if (navigator.connection.saveData === true) {
        // Implement data saving operations here.
    }
}

事实上,这是一种很好的方法,可以测试是否启用了数据保护模式,如果启用了,则运行代码。我还没有找到一个仅在未启用或未设置data saver时运行代码的JS示例。有人知道路吗?