Export/Import Filter List

Export and import filter list

スクリプトをインストールするには、Tampermonkey, GreasemonkeyViolentmonkey のような拡張機能のインストールが必要です。

You will need to install an extension such as Tampermonkey to install this script.

スクリプトをインストールするには、TampermonkeyViolentmonkey のような拡張機能のインストールが必要です。

スクリプトをインストールするには、TampermonkeyUserscripts のような拡張機能のインストールが必要です。

このスクリプトをインストールするには、Tampermonkeyなどの拡張機能をインストールする必要があります。

このスクリプトをインストールするには、ユーザースクリプト管理ツールの拡張機能をインストールする必要があります。

(ユーザースクリプト管理ツールは設定済みなのでインストール!)

このスタイルをインストールするには、Stylusなどの拡張機能をインストールする必要があります。

このスタイルをインストールするには、Stylus などの拡張機能をインストールする必要があります。

このスタイルをインストールするには、Stylus tなどの拡張機能をインストールする必要があります。

このスタイルをインストールするには、ユーザースタイル管理用の拡張機能をインストールする必要があります。

このスタイルをインストールするには、ユーザースタイル管理用の拡張機能をインストールする必要があります。

このスタイルをインストールするには、ユーザースタイル管理用の拡張機能をインストールする必要があります。

(ユーザースタイル管理ツールは設定済みなのでインストール!)

このスクリプトの質問や評価の投稿はこちら通報はこちらへお寄せください
// ==UserScript==
// @name         Export/Import Filter List
// @namespace    http://tampermonkey.net/
// @version      1.0
// @description  Export and import filter list
// @author       Eleven
// @match        https://www.phind.com/filters
// @grant        GM_setValue
// @grant        GM_getValue
// @grant        GM_registerMenuCommand
// @license MIT
// ==/UserScript==

let table = document.querySelector("table");

let listToExport = Array.from(table.rows).map((row) =>
  Array.from(row.cells).map((cell) => cell.textContent)
);
GM_setValue("exportedList", JSON.stringify(listToExport));

let importedList = JSON.parse(GM_getValue("exportedList"));


importedList.forEach((rowData) => {
  let row = table.insertRow();
  rowData.forEach((cellData) => {
    let cell = row.insertCell();
    cell.textContent = cellData;
  });
});

GM_registerMenuCommand("Export List", () => {
  let table = document.querySelector("table");
  let listToExport = Array.from(table.rows).map((row) =>
    Array.from(row.cells).map((cell) => cell.textContent)
  );
  GM_setValue("exportedList", JSON.stringify(listToExport));
});

GM_registerMenuCommand("Import List", () => {
  let importedList = JSON.parse(GM_getValue("exportedList"));
  let table = document.querySelector("table");
  importedList.forEach((rowData) => {
    let row = table.insertRow();
    rowData.forEach((cellData) => {
      let cell = row.insertCell();
      cell.textContent = cellData;
    });
  });
});