Chrome: смещение часового пояса отличается от вкладки? - PullRequest
0 голосов
/ 22 декабря 2018

Я занимаюсь разработкой веб-инструмента и в настоящее время сталкиваюсь с проблемой, когда на некоторых вкладках вместо правильного смещения часового пояса отображается UTC.

т.е. если я добавлю в консоль:

(new Date ()). GetTimezoneOffset ()

Я получу 0 на некоторых вкладках и значение 420 на других вкладках,Даже вкладки с точно таким же веб-сайтом загружены.

Когда я использую getMonth, getDate, getHours и т. Д. ... все время также в UTC.

Я новичок в использовании getTimezoneOffset,так это поведение я должен ожидать?Исходя из того, что я читаю, я думаю, что это должно быть мое местное время на моем ПК, которое вообще не менялось во время этого процесса.

Chrome Версия 71.0.3578.80 (Официальная сборка) (64-немного)

Есть ли что-то, что я делаю неправильно, или это действительно ошибка, которую я нашел в Chrome?Кажется, я не могу найти ни одной записи об этой ошибке.Наиболее близким является тот, который специфичен для Android.https://bugs.chromium.org/p/chromium/issues/detail?id=520783

Однако кажется невероятным, что я был бы первым, кто обнаружит такую ​​ошибку, с таким количеством пользователей Chrome.Я хотел убедиться, что это определенно ошибка.

Вот дополнительная информация:

navigator.userAgent = Mozilla / 5.0 (Windows NT 6.1; Win64; x64) AppleWebKit / 537.36 (KHTML, как Gecko) Chrome / 71.0.3578.80 Safari / 537.36

Рабочие вкладки:

Intl.DateTimeFormat().resolvedOptions().timeZone = undefined
new Date().toString() = "Mon Dec 24 2018 16:09:55 GMT-0700 (GMT-07:00)"
(new Date()).getTimezoneOffset() = 420
(new Date()).getHours() = 16

Неудачные вкладки:

Intl.DateTimeFormat().resolvedOptions().timeZone = "Etc/Unknown"
new Date().toString() = "Mon Dec 24 2018 23:09:44 GMT+0000 (GMT)"
(new Date()).getTimezoneOffset() = 0
(new Date()).getHours() = 23

Время изменяется правильно.Только часовой пояс неправильный.

Похоже, что это зависит от URL.Например, URL-адреса веб-сайтов, которые ранее были неудачными, снова не будут работать, если они будут открыты на новых вкладках.

Новые вкладки, похоже, не имеют проблемы, однако, как только я посещаю «отравленный» URL-адрес, на часовой пояс влияютэта вкладка.

Посещение хорошего URL-адреса, похоже, решает проблему, однако посещение по поводу: blank не имеет значения.

Например, если я открываю новую вкладку, она работает нормально.Затем я захожу на stackoverflow.com (в настоящее время отравленный), затем часовой пояс не работает.Теперь я захожу на stackexchange.com (не отравленный), и с часовым поясом все в порядке.Затем я захожу на stackoverflow.com, и он снова ломается.Теперь я иду к: пусто, и оно все еще сломано.Если я захожу на stackexchange.com, он снова работает.Затем я захожу по адресу: blank, часовой пояс по-прежнему правильный.

Похоже, это доменное имя.Например, каждая вкладка stackoverflow.com не работает, в то время как каждый вопрос на stackexchange.com имеет правильный часовой пояс.Я протестировал не менее 7 страниц для каждого URL.

Это не влияет на режим инкогнито.Например, если я открою новое окно с помощью Ctrl + Shift + N, а затем зайду на stackoverflow.com, часовой пояс будет правильным.Однако, если я открываю новое окно, как правило, Ctrl + N, то часовой пояс по-прежнему нарушается.

При первом запуске у меня было открыто несколько вкладок на одном сайте, и некоторые из них работали, а некоторыеих не удалось.Если я помню, это была самая новая вкладка, которая потерпела неудачу первой.Я мог бы дублировать рабочую вкладку и получить другую вкладку с тем же URL-адресом.Если бы я продублировал сбойную вкладку, то я бы также получил другую сбойную вкладку.Однако у меня больше нет рабочих вкладок с ошибочными URL-адресами вне режима инкогнито.

...