您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Extracts fragment ID and idiom text and adds useful buttons for Wikidata Lexemes
// ==UserScript== // @name Copy URL with Fragment ID // @namespace svenska.se // @version 1.3 // @description Extracts fragment ID and idiom text and adds useful buttons for Wikidata Lexemes // @author Nizo Priskorn // @match https://svenska.se/so/* // @license GPLv3+ // @grant none // ==/UserScript== (function() { // console.log("violentmonkey running"); 'use strict'; // Function to add copy button for URL with fragment function addCopyURLButton(div, fragmentId) { // Create a copy button for URL var copyURLButton = document.createElement('button'); copyURLButton.textContent = 'Copy URL with Fragment'; copyURLButton.style.marginLeft = '10px'; // Add click event listener to URL copy button copyURLButton.addEventListener('click', function() { // Copy URL with fragment ID to clipboard var urlWithFragment = window.location.href + '#' + fragmentId; navigator.clipboard.writeText(urlWithFragment).then(function() { console.log('URL with fragment copied to clipboard:', urlWithFragment); // alert('URL with fragment copied to clipboard: ' + urlWithFragment); }, function(err) { console.error('Failed to copy:', err); }); }); // Append URL copy button to the div div.appendChild(copyURLButton); } // Function to add copy button for idiom text function addCopyIdiomButton(div, idiomText) { // Create a copy button for idiom text var copyIdiomButton = document.createElement('button'); copyIdiomButton.textContent = 'Copy Idiom Text'; copyIdiomButton.style.marginLeft = '10px'; // Add click event listener to idiom text copy button copyIdiomButton.addEventListener('click', function() { // Copy idiom text to clipboard navigator.clipboard.writeText(idiomText).then(function() { console.log('Idiom text copied to clipboard:', idiomText); // alert('Idiom text copied to clipboard: ' + idiomText); }, function(err) { console.error('Failed to copy:', err); }); }); // Append idiom text copy button to the div div.appendChild(copyIdiomButton); } // Function to add search button function addOrdiaButton(div, idiomText) { // Create a search button var searchButton = document.createElement('button'); searchButton.textContent = 'Lookup idiom using Ordia'; searchButton.style.marginLeft = '10px'; // Add click event listener to search button searchButton.addEventListener('click', function() { // Open new tab to search for idiom text var searchUrl = 'https://ordia.toolforge.org/search?q=' + encodeURIComponent(idiomText); window.open(searchUrl, '_blank'); }); // Append search button to the div div.appendChild(searchButton); } // Function to add search button for Riksdagen function addRiksdagenSearchButton(div, idiomText) { // Create a search button for Riksdagen var riksdagenSearchButton = document.createElement('button'); riksdagenSearchButton.textContent = 'Search Riksdagen'; riksdagenSearchButton.style.marginLeft = '10px'; var quotedIdiomText = '"' + idiomText + '"'; // Add click event listener to Riksdagen search button riksdagenSearchButton.addEventListener('click', function() { // Open new tab to search for idiom text on Riksdagen var searchUrl = 'https://www.riksdagen.se/sv/sok/?sok=' + encodeURIComponent(quotedIdiomText); window.open(searchUrl, '_blank'); }); // Append Riksdagen search button to the div div.appendChild(riksdagenSearchButton); } // Find all div elements with class "idiom" var idiomDivs = document.querySelectorAll('div.idiom'); // Loop through each div idiomDivs.forEach(function(div) { // Extract fragment ID var fragmentId = div.id; // Extract idiom text var idiomText = div.querySelector('span.fras').textContent; // Add copy button for URL with fragment addCopyURLButton(div, fragmentId); // Add copy button for idiom text addCopyIdiomButton(div, idiomText); // Add search button addOrdiaButton(div, idiomText); // Add search button for Riksdagen addRiksdagenSearchButton(div, idiomText); }); })();