您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Adds additional functionality to the UK General Register Office (GRO) BMD index search
当前为
- // ==UserScript==
- // @name GRO Index Search Helper
- // @description Adds additional functionality to the UK General Register Office (GRO) BMD index search
- // @namespace cuffie81.scripts
- // @include https://www.gro.gov.uk/gro/content/certificates/indexes_search.asp
- // @version 1.1
- // @grant none
- // @require https://code.jquery.com/jquery-2.2.4.min.js
- // ==/UserScript==
- this.$ = this.jQuery = jQuery.noConflict(true);
- $(document).ready(function()
- {
- // Hide the reset button
- $("form[name='SearchIndexes'] input[type='submit'][value='Reset']").hide();
- // Hide superflous text
- $("table[summary*='contains the search form fields'] > tbody > tr:nth-of-type(3) td.main_text[colspan='5']").parent().hide();
- // Add gender and year navigation buttons, and style them
- var searchButton = $("form[name='SearchIndexes'] input[type='submit'][value='Search']")
- $("<input class='formButton' id='mygroBtnGenderToggle' type='button' value='Gender' />").insertBefore($(searchButton));
- $("<input class='formButton' id='mygroBtnYearsPrev' type='button' value='< Years' />").insertBefore($(searchButton));
- $("<input class='formButton' id='mygroBtnYearsNext' type='button' value='Years >' />").insertBefore($(searchButton));
- var buttonContainer = $("form[name='SearchIndexes'] input[type='submit'][value='Search']").closest("td");
- $(buttonContainer).css("padding-bottom", "10px");
- $(buttonContainer).find("input[type='button']").css("margin-right", "20px");
- $(buttonContainer).find("input[type='submit'], input[type='button']").css("min-width", "100px").css("font-size", "13px").css("padding", "4px 10px");
- // Handle button click handlers
- $("input#mygroBtnYearsPrev").click(function() { mygro_NavigateYears(false); });
- $("input#mygroBtnYearsNext").click(function() { mygro_NavigateYears(true); });
- $("input#mygroBtnGenderToggle").click(function() { mygro_ToggleGender(); });
- });
- function mygro_ToggleGender()
- {
- var curGender = $("form[name='SearchIndexes'] select#Gender").val();
- $("form[name='SearchIndexes'] select#Gender").val((curGender === "F" ? "M" : "F"));
- $("form[name='SearchIndexes'] input[type='submit'][value='Search']").click();
- }
- function mygro_NavigateYears(forward)
- {
- // Get min and max years
- var minYear = parseInt($("form[name='SearchIndexes'] select#Year option:eq(2)").val(), 10);
- var maxYear = parseInt($("form[name='SearchIndexes'] select#Year option:last").val(), 10);
- //console.log("Year range: %s - %s", minYear, maxYear);
- if (!isNaN(minYear) && !isNaN(maxYear))
- {
- // Read current year and range
- var curYear = parseInt($("form[name='SearchIndexes'] select#Year").val(), 10);
- var curRange = parseInt($("form[name='SearchIndexes'] select#Range").val(), 10);
- if (!isNaN(curYear) && !isNaN(curRange))
- {
- // Calculate the new year
- var step = (curRange * 2) + 1;
- var newYear = (forward ? curYear+step : curYear-step);
- newYear = Math.min(Math.max(newYear, minYear), maxYear);
- // Update the year and submit the search
- $("form[name='SearchIndexes'] select#Year").val(newYear);
- $("form[name='SearchIndexes'] input[type='submit'][value='Search']").click();
- }
- //console.log("Current year: %d +-%d (%d-%d), New year: %d (%d-%d)", curYear, curRange, curYear-curRange, curYear+curRange, newYear, newYear-curRange, newYear+curRange);
- }
- }