iPhone Chrome上的navigator.sendBeacon()无法发布到安全网站

时间:2018-08-14 15:08:25

标签: javascript ios google-chrome

更新13/01/2019 :Chromium已对此进行了调查,这是一个WebKit问题。有关详细说明,请参见评论-https://bugs.chromium.org/p/chromium/issues/detail?id=878562#c17


我正在尝试使用Beacon API发送一些分析数据,但是在iPhone X(iOS 11.4.1)的Chrome(68.0.3440.83)上,它不会发布到安全站点(https)。例如

navigator.sendBeacon('http://xxxx.com', 'data');将发送POST,但navigator.sendBeacon('https://xxxx.com', 'data');将不发送POST。

navigator.sendBeacon()在安全(https)和不安全(http)网站上均返回true

iPhone Safari,iPad Chrome,Android Chrome和桌面浏览器(macOS Chrome,Safari和Firefox)都可以正常工作。

服务器请求:

POST / HTTP/1.1
Host: xxxx.com
Accept: */*
Accept-Language: en-gb
Accept-Encoding: gzip, deflate
Cache-Control: max-age=0
Content-Type: text/plain;charset=UTF-8
Origin: http://yyyy.com
User-Agent: Mozilla/5.0 (iPhone; CPU iPhone OS 11_4_1 like Mac OS X) AppleWebKit/604.1.34 (KHTML, like Gecko) CriOS/68.0.3440.83 Mobile/15G77 Safari/604.1
Connection: close
Referer: http://yyyy.com/test.html
Content-Length: 4

data

服务器响应:

HTTP/1.1 204 No Content
Content-Type: text/plain;charset=UTF-8
Date: Tue, 14 Aug 2018 14:15:45 GMT
Server: Apache
X-Powered-By: PHP/7.2.5
Connection: Close

有什么想法让Chrome在iPhone上运行吗?

0 个答案:

没有答案