您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
自动生成页面参考文献引用字符串
// ==UserScript== // @name 文献引用生成器 // @name:en-us Reference Generator // @description 自动生成页面参考文献引用字符串 // @description:en-us Automatically generate reference strings of the page // @author KazariEX // @version 1.0.2 // @license MIT // @copyright 2023-2023, References Generator Contributors (https://github.com/MysteryBao37/reference-generator/graphs/contributors) // @namespace http://github.com/MysteryBao37 // @homepageURL https://github.com/MysteryBao37/reference-generator // @match *://*.gmw.cn/*/*/* // @match *://*.people.com.cn/*/*/*/* // @match *://www.cppcc.gov.cn/zxww/*/*/*/* // @match *://www.guancha.cn/*/* // @match *://www.npc.gov.cn/*/*/* // @match *://www.xuexi.cn/*/*/* // ==/UserScript== "use strict"; const typelist = [ "DB/OL", "DB/MT", "DB/CD", "M/CD", "CP/DK", "J/OL", "EB/OL" ]; const re_date = /([0-9]*)[-\/\u5e74]([0-9]*)[-\/\u6708]([0-9]*)[\u65e5]?/; const sites = { "gmw.cn": { date: { selector: "body > div.g-main > div.m-title-box > div > div.m_tips > span.m-con-time", re: /([0-9]*)-([0-9]*)-([0-9]*)/ }, src: { selector: "body > div.g-main > div.m-title-box > div > div.m_tips > span.m-con-source > a" }, title: { selector: "body > div.g-main > div.m-title-box > h1" } }, "people.com.cn": { date: { selector: "body > div.main > div.layout.rm_txt.cf > div.col.col-1.fl > div.channel.cf > div.col-1-1.fl", re: /([0-9]*)年([0-9]*)月([0-9]*)日/ }, src: { selector: "body > div.main > div.layout.rm_txt.cf > div.col.col-1.fl > div.channel.cf > div.col-1-1.fl > a" }, title: { selector: "body > div.main > div.layout.rm_txt.cf > div.col.col-1.fl > h1" } }, "www.cppcc.gov.cn": { date: { selector: "#page_body > div.column_wrapper.ariaskiptheme > div.col_w770.ariaskiptheme > div > div > div.infobox.ariaskiptheme > span.info.ariaskiptheme > i", re: /([0-9]*)-([0-9]*)-([0-9]*)/ }, src: { selector: "#page_body > div.column_wrapper.ariaskiptheme > div.col_w770.ariaskiptheme > div > div > div.infobox.ariaskiptheme > span.info.ariaskiptheme > em", re: /^来源:(.*)$/, index: 1 }, title: { selector: "#page_body > div.column_wrapper.ariaskiptheme > div.col_w770.ariaskiptheme > div > div > h3" } }, "www.guancha.cn": { date: { selector: "body > div.content > div.main.content-main > ul > li.left.left-main > div.time.fix > span:nth-child(1)", re: /([0-9]*)-([0-9]*)-([0-9]*)/ }, src: { selector: "body > div.content > div.main.content-main > ul > li.left.left-main > div.time.fix > span:nth-child(3)", re: /^来源:(.*)$/, index: 1 }, title: { selector: "body > div.content > div.main.content-main > ul > li.left.left-main > h3" } }, "www.npc.gov.cn": { date: { selector: "body > div.wrapper > div > div.fl.w680 > div.fontsize > span", re: /([0-9]*)\u5e74([0-9]*)\u6708([0-9]*)\u65e5/ }, src: { selector: "body > div.wrapper > div > div.fl.w680 > div.fontsize", re: /来源: (.*?)\s\s/, index: 1 }, title: { selector: "body > div.wrapper > div > div.fl.w680 > div.tit > h1" } }, "www.xuexi.cn": { date: { selector: "#root > div > section > div > div > div > div > div:nth-child(2) > section > div > div > div > div > div > div > div.render-detail-detail > div > span.render-detail-time", re: /([0-9]*)-([0-9]*)-([0-9]*)/ }, src: { selector: "#root > div > section > div > div > div > div > div:nth-child(2) > section > div > div > div > div > div > div > div.render-detail-detail > div > span.render-detail-resource", re: /来源:(.*?)/, index: 1 }, title: { selector: "#root > div > section > div > div > div > div > div:nth-child(2) > section > div > div > div > div > div > div > div.render-detail-titles > div" } } }; function siteHandler(site) { const result = {}; for (const key in site) { const elem = document.querySelector(site[key].selector); let value; if (elem) { if (site[key].re) { value = elem.textContent.match(site[key].re)[site[key].index ?? 0]; } else { value = elem.textContent; } } result[key] = value.trim(); } return result; } (function main() { const btn = document.createElement("button"); btn.textContent = "生成文献引用"; btn.style.cssText = ` display: block; position: fixed; top: 8px; right: 8px; padding: 4px 12px; outline: none; box-shadow: 0 0 4px rgb(0 0 0 / 33%); border: 0; border-radius: 4px; background-color: rgb(255 255 255 / 88%); cursor: pointer; z-index: 9999999; `; btn.addEventListener("click", handler); document.body.appendChild(btn); })(); function handler() { let type = typelist[6]; let title = document.title; let author; let date; const $MetaList = document.querySelectorAll("head > meta"); $MetaList.forEach(($Meta) => { //作者 if ($Meta.name === "author" || $Meta.getAttribute("property")?.includes("author")) { author = $Meta.content; } //标题 if ($Meta.getAttribute("property")?.includes("title")) { title = $Meta.content; } }); //网站特化 const host = window.location.host; for (const site in sites) { if (host.includes(site)) { ({ date, src: author, title } = siteHandler(sites[site])); } }; const dateFormat = function(item, index) { const len = index === 0 ? 4 : 2; return item.padStart(len, "0"); } //发布日期 date = date.match(re_date) .slice(1, 4) .map(dateFormat) .join("-"); //引用日期 const now = new Date() .toLocaleDateString() .split("/") .map(dateFormat) .join('-'); //拼接结果 const result = `[1] ${author}. ${title}[${type}]. (${date})[${now}] ${window.location.href}`; //显示结果 alert(result); };
QingJ © 2025
镜像随时可能失效,请加Q群300939539或关注我们的公众号极客氢云获取最新地址