您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
JCJP Practice Settings Save! - Stores your Practice settings offline and automatically loads them each new session.
// ==UserScript== // @name JCJP Practice Settings Save // @namespace mog86uk-jcjp-practice-settings-save // @version 2.20 // @description JCJP Practice Settings Save! - Stores your Practice settings offline and automatically loads them each new session. // @author mog86uk // @match https://japaneseclass.jp/practice // @grant none // @noframes // ==/UserScript== (function() { var jQuery = window.jQuery; jQuery(document).ready(function($) { var $settingsBox = '', $saveButton = '', $settingsButton = '', $panicButton = '', panicButtonClicked = false, practiceSettings = [], savedSettingsStr = '', savedSettings = [], i = 0; $settingsBox = $('div#settings_box'); $saveButton = $('button#save_settings_button'); $saveButton.click(function() { if (panicButtonClicked) { panicButtonClicked = false; return; } var storedValStr = '', storedVal = [], practiceSettingChecked = 0; for (i = 0; i < practiceSettings.length; i++) { if ($('input#' + practiceSettings[i]).length > 0) { practiceSettingChecked = $('input#' + practiceSettings[i]).attr('checked'); storedVal[i] = practiceSettingChecked ? 1 : 0; } else { storedVal[i] = 2; } } storedValStr = storedVal.join(''); localStorage.setItem('Mog_SavedPracticeSettings', storedValStr); }); $settingsButton = $('button#settings_button'); $settingsButton.after('<button id="mog_panic_button" class="header-btn pull-right">パニック</button>'); $panicButton = $('button#mog_panic_button'); $panicButton.click(function() { panicButtonClicked = true; // Fix for display issue that occurs sometimes when the user clicks the Settings button. $settingsBox.css('display', 'block'); $saveButton.click(); }); practiceSettings = $('div#test_settings_box > input').map(function() { return $(this).attr('id'); }).get(); savedSettingsStr = localStorage.getItem('Mog_SavedPracticeSettings'); if (savedSettingsStr !== null) { if (savedSettingsStr.length == practiceSettings.length) { savedSettings = savedSettingsStr.split(''); for (i = 0; i < savedSettings.length; i++) { if (savedSettings[i] === '0') { $('input#' + practiceSettings[i]).removeAttr('checked'); $('a#fake' + practiceSettings[i]).attr('class', 'fakecheck'); } } } $saveButton.click(); // Fix for display issue that occurs sometimes when the user clicks the Settings button. $settingsBox.css('display', 'block'); } }); })();