javascript [userscript] [tabelog]通过发送链接将当前商店添加到Google日历(需​​要修复开始/结束日期)

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了javascript [userscript] [tabelog]通过发送链接将当前商店添加到Google日历(需​​要修复开始/结束日期)相关的知识,希望对你有一定的参考价值。

// ==UserScript==
// @name         [tabelog] Add to Google Calendar
// @namespace    https://gist.github.com/tkrkt
// @description  Add current shop to Google Calendar from send link (need to fix start/end date)
// @version      1
// @match        https://tabelog.com/*
// @grant        none
// ==/UserScript==

const descArea = document.querySelector('.js-rst-info.infosend__textarea');
const container = document.querySelector('#js-send-button ul.infosend__btn-wrap');
if (descArea && container) {
  const style = document.createElement('style');
  style.textContent = `
  .infosend__btn {
    width: 33%;
  }
  `;
  document.head.appendChild(style);

  const desc = descArea.value;
  const title = desc.split('\n')[0];
  const location = desc.split('\n')[2];
  const current = new Date();
  const hour = 1000 * 60 * 60;

  const dates = [
    new Date(Math.ceil(new Date() / hour) * hour),
    new Date((Math.ceil(new Date() / hour) + 2) * hour)
  ].map(date => {
    return date.toISOString().replace(/[-:]/g, '').replace(/\.\d+Z/, '');
  }).join('/');

  const template = {
    text: title,
    details: desc,
    location,
    dates
  };

  const baseUrl = 'https://www.google.com/calendar/render?action=TEMPLATE';
  const query = Object.entries(template).map(([key, value]) => {
    return key + '=' + encodeURIComponent(value);
  }).join('&');

  const url = `https://www.google.com/calendar/render?action=TEMPLATE&${query}`;

  const li = document.createElement('li');
  li.classList.add('infosend__btn');
  li.innerHTML = `<p><a class="js-send-sc c-btn" href="${url}">GoogleCal</a></p>`;
  container.appendChild(li);
}

以上是关于javascript [userscript] [tabelog]通过发送链接将当前商店添加到Google日历(需​​要修复开始/结束日期)的主要内容,如果未能解决你的问题,请参考以下文章

javascript [userscript] [QiitaDeck]格雷访问了链接

JavaScript 将图像嵌入为代码(对于UserScripts)

javascript [userscript] [Google]修复Google搜索标签的顺序

javascript [userscript] [tabelog]通过发送链接将当前商店添加到Google日历(需​​要修复开始/结束日期)

向 webview 添加 userScript

在 tampermonkey(userscript) 中包含所有页面