您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
ボタンおして歌詞取得その2
// ==UserScript== // @name 歌詞取得→うぇざたい // @license MIT // @namespace http://tampermonkey.net/ // @version 0.7 // @description ボタンおして歌詞取得その2 // @author You // @match https://typing-tube.net/movie/scroll* // @icon https://www.google.com/s2/favicons?sz=64&domain=typing-tube.net // @grant none // @require https://www.gstatic.com/firebasejs/7.2.1/firebase-app.js // @require https://www.gstatic.com/firebasejs/7.2.1/firebase-auth.js // @require https://www.gstatic.com/firebasejs/7.2.1/firebase-database.js // ==/UserScript== const addBtn = () => { document.querySelector('.twitter.btn').parentElement.insertAdjacentHTML('beforeend', `<input type="button" id="getLyricsBtn" value="歌詞取得→うぇざたい">`); } (async () => { function getlyrics() { let lrc_arr = []; for (let i in lyrics_array) { let lrc_str = lyrics_array[i][1]; let lrc_yomi = lyrics_array[i][2]; // HTML特殊文字コード削除 lrc_str = lrc_str.replace(/&.*?;/g, ""); // ルビタグ内<rt>タグの平仮名削除 lrc_str = lrc_str.replace(/<rt>.*?<\/rt>/g, ""); // HTMLタグ削除 lrc_str = lrc_str.replace(/(<([^>]+)>)/gi, ''); // 不要な文字列削除 lrc_str = lrc_str.replace('__________________________', ""); // 歌詞と読みが両方ある場合に両方追加 if (lrc_str && lrc_yomi) { lrc_arr.push(lrc_str); lrc_arr.push(lrc_yomi); } } // 最後の1行を削除 今回はendが入らないので不要 let lrc_str = lrc_arr.filter(Boolean).join("\n"); // ファイル名を生成("Typing Tube "を削除) let fileName = document.title.replace(/^Typing Tube /, '') + '.txt'; // ファイルを作成してダウンロード const blob = new Blob([lrc_str], { type: 'text/plain' }); const link = document.createElement('a'); link.href = URL.createObjectURL(blob); link.download = fileName; document.body.appendChild(link); link.click(); document.body.removeChild(link); document.getElementById('getLyricsBtn').value = 'ダウンロード済み'; } await addBtn(); document.getElementById('getLyricsBtn').addEventListener('click', getlyrics); })();