программные закладки в chrome
Можно ли установить закладки, которые могут компилировать его собственные переменные?
Например, я хочу добавить в закладки сайт, на который есть ссылки, такие как:
https://example.com/review?from=2017/07/16&to=2017/07/16
В тот момент, когда я нажимаю на него: он в настоящее время и всегда будет заполняться этой датой.
я хочу, чтобы он всегда заполнялся сегодняшней датой.
Поэтому я хотел бы иметь закладку, которая может получить последнюю системную дату с помощью javascript или любого другого метода, который работает.в качестве отступления и тотально не важно, в идеале я хотел бы "немного" интеллекта и использовать немного ума в том, что если текущее время до noon
, Дата заселения будет вчера. noon
является произвольным, 8am
или любой другой утренний час может быть использован.
Моей единственной мыслью на данный момент было бы создать html-страницу со ссылками в них, открыть страницу и иметь js
изменить ссылки onload
или onclick
, но я бы предпочел эти страницы на закладках бар. (У меня есть только 3, которые я хочу настроить)
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);})();