使用chrome扩展名更改浏览器的日期/时间值

Dek*_*kel 14 google-chrome-extension

我正在寻找一种方法来改变从javascript new Date()函数返回的值.
一般来说 - 我正在寻找一种方法来编写一个扩展,使用户能够在不改变计算机时间/时区的情况下设置他的时区(或者从系统时钟开始的时间差异).

我检查了chrome扩展api,但没有发现任何东西.如果有人能指出我正确的方向,我将不胜感激.

Noa*_*ker 5

我已经看到一些涉及重写javascript getTime()方法的解决方案:

Date.prototype.getTime = function() { return [DATE + OFFSET] };
Run Code Online (Sandbox Code Playgroud)

用法:

(new Date).getTime();
Run Code Online (Sandbox Code Playgroud)

来源

显然,时间不是来自浏览器,而是操作系统。因此,我的建议是使用内容脚本注入此javascript,并且在您的覆盖函数中,您可以将日期/时间偏移任意数量。

  • 如果您查看其源代码(在“data/content_script/inject.js”中),那么 [Timeshift 扩展](https://mybrowseraddon.com/change-timezone.html) 基本上就是这样做的。它重新定义了 `Date` 的所有属性,例如 `Object.defineProperty(Date.prototype, 'toJSON', {"value": function () {return toJSON.call(this._date)}});`。 (3认同)

归档时间:

查看次数:

12902 次

最近记录:

6 年 前