chrome 中的程序化书签

programmatic bookmarks in chrome

是否可以设置可以编译自己变量的书签?

例如,我想为包含以下链接的网站添加书签:

https://example.com/review?from=2017/07/16&to=2017/07/16

在我点击它的那一刻:它当前并且总是会填充那个日期。

我希望它始终填充今天的日期。

因此我想要一个可以使用 javascript 或任何有效方法检索最新系统日期的书签。

顺便说一句,完全不重要,理想情况下我想要 'little' 智能,如果当前时间早于 noon,我会使用一些智能,填充的日期是昨天。 noon 是任意的,可以使用 8am 或任何其他上午时间。

我目前唯一的想法是创建一个包含链接的html页面,打开页面并使用js修改链接onloadonclick,但我更喜欢书签栏上的这些页面。 (我只有3个我想设置)

您可以使用 localStorage 来实现。根据您的浏览器选项,它可以从一个会话保存到另一个会话,即使在关闭后也是如此。

您可以试试这个演示小书签(将代码粘贴到书签的 URL 字段中):

javascript:(function() { localStorage.setItem('lastdate', '2017/07/16'); })();

并检索数据:

javascript:(function() { alert(localStorage.getItem('lastdate')); })();

然后当你点击你的书签时,你可以使用这种引擎来编写另一个URL:

javascript:(function() {var dat = localStorage.getItem('lastdate'); window.open('https://example.com/review?from='+dat);})();

如果你想打开linkhttps://example.com/review?from=2017/07/16&to=<TODAYS DATE>,这需要两个步骤:创建Javascript,然后将其放入书签,这两个步骤都很简单。

生成日期的代码如下:

var today = new Date();
var dd = today.getDate();
var mm = today.getMonth()+1; //January is 0!

var yyyy = today.getFullYear();
if(dd<10){
    dd='0'+dd;
} 
if(mm<10){
    mm='0'+mm;
}
var date = yyyy+"/"+mm+"/"+dd;

Code found here

现在我们只是将其简化并放入书签中。将此代码简化为一行如下所示:

var today = new Date();var dd = today.getDate();var mm = today.getMonth()+1;var date="https://example.com/review?from=2017/07/16&to="+today.getFullYear()+'/'+((mm<10)?'0'+mm:mm)+'/'+((dd<10)?'0'+dd:dd);

现在我们删除所有 var 关键字并将其格式化为书签 link。我们还将 var date=... 更改为 window.location=...,这将导致页面打开它生成的 link:

javascript:link=today=new Date();dd=today.getDate();mm=today.getMonth()+1;window.location="https://example.com/review?from=2017/07/16&to="+today.getFullYear()+'/'+((mm<10)?'0'+mm:mm)+'/'+((dd<10)?'0'+dd:dd);

将最后一个代码块作为 link 放入新书签中,这样就可以了!