программные закладки в chrome


Можно ли установить закладки, которые могут компилировать его собственные переменные?

Например, я хочу добавить в закладки сайт, на который есть ссылки, такие как:

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

В тот момент, когда я нажимаю на него: он в настоящее время и всегда будет заполняться этой датой.

я хочу, чтобы он всегда заполнялся сегодняшней датой.

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

в качестве отступления и тотально не важно, в идеале я хотел бы "немного" интеллекта и использовать немного ума в том, что если текущее время до noon, Дата заселения будет вчера. noon является произвольным, 8am или любой другой утренний час может быть использован.

Моей единственной мыслью на данный момент было бы создать html-страницу со ссылками в них, открыть страницу и иметь js изменить ссылки onload или onclick, но я бы предпочел эти страницы на закладках бар. (У меня есть только 3, которые я хочу настроить)

2 2

2 ответа:

Если вы хотите открыть ссылку https://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;

Код найден здесь

Теперь мы просто упростим это и поместим его в закладку. Упрощение этого кода до одной строки выглядит следующим образом:
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 и отформатируем их для ссылки на закладку. Мы также меняем var date=... на window.location=..., что вызовет страницу, чтобы открыть ссылку, которую он генерирует:
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);

Поместите этот последний блок кода в новую закладку в качестве ссылки, и это сработает!

Вы можете использовать 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);})();