Greasemonkey脚本无法将日期/时间传递给GM_setValue
Greasemonkey script fails passing date/time to GM_setValue
我正在写一个Greasemonkey脚本,我想知道它上次运行的时间。为此,我想用GM_setValue
存储当前时间,并将该时间与脚本再次运行的时间进行比较。
然而,Date().getTime()
的结果似乎不会传递给GM_setValue
。例如,如果您运行:
var newtime = new Date().getTime();
GM_setValue('lastrun', newtime);
alert(GM_getValue('lastrun'));
由于警报框不会弹出,因此显然存在错误。但是,如果将第一行替换为:
var newtime = 1;
然后,您会在警报框中得到1,正如您所期望的那样。
这几乎只是隔离了导致此处问题的日期格式。关于如何处理这个问题,或者在脚本运行之间保存日期的更好方法,有什么想法吗?
我也遇到了类似的问题。该数字太大,无法存储为firefox cookie值。我的解决方案是将精度限制在秒(除以1000,去掉余数),并减去43年(1356998400秒),使测量日期从2013年1月1日午夜开始,所以我的代码看起来是这样的:
var time = Math.floor((new Date().getTime() / 1000) - 1356998400);
GM_setValue("runTime", time);
检索结果看起来像:
var time = GM_getValue("runTime", 0);
if (time != 0) {
var cur = Math.floor((new Date().getTime() / 1000) - 1356998400);
var cur = cur - time;
var sec = cur % 60;
var min = Math.floor(cur / 60);
console.log("Script took " + min + ":" + sec);
}
相关文章:
- 为什么谷歌应用程序的电子表格setValue函数没有在单元格中设置值
- 使用GM-xmlhttpRequest而不是iframe来显示来自外部页面的相关信息
- 基于combodate.js的ajax响应上的setValue
- FS.Store 不可靠的GM图像转换
- 节点 gm 流上出错
- Facebook自动登录JS在控制台中工作,但在GM脚本中不起作用
- 命令失败: gm 识别: 无法打开文件 (2) [没有这样的文件或目录].通用模块和 ES6 承诺的问题
- 如何使用Javascript在Gmail中通过x-gm-msgid打开电子邮件
- IE7中的setValue()引发错误
- 在setValue()之后未保留格式
- Node.js:错误:使用GM模块时生成ENOENT
- Ext.form.TextField:getValue()有效,但setValue(..)无效..为什么?
- 如何在NodeJS中使用gm调整多个图像的大小
- 自定义组件ExtJS,而不是工作setValue
- 通过nodejs gm库中的URL加载字体
- gm:如果图像宽度超过1000px,则调整图像大小
- “街头艺人”;文件“;到gm到ftp上传
- 正在删除临时为gm流创建的文件
- jsgauge-setValue在Chrome中给出非法调用
- window.close()没有'不适用于iOS 8 GM种子