🏠 Home 

编程随想的博客 - 评论区修复(重制版)

原始版本评论区修复,使用标准 WebAPI 重写,并增加了一点检查和提示。


安装此脚本?
// ==UserScript==
// @name        编程随想的博客 - 评论区修复(重制版)
// @description 原始版本评论区修复,使用标准 WebAPI 重写,并增加了一点检查和提示。
// @namespace   UnKnown
// @author      UnKnown
// @license     Unlicense
// @version     1.0
// @icon        https://program-think.blogspot.com/favicon.ico
// @match       https://program-think.blogspot.com/*
// @grant       none
// @run-at      document-start
// @inject-into content
// ==/UserScript==
"use strict";
const poNullNote = [
"编程随想的博客 - 评论区修复(重制版):",
"编程随想的评论区代码,需要从 a#comment-editor-src 这个超链接元素的链接中,提取一个名为 postID 的链接参数。",
"大致在 2022 年 5 月,Google 修改了这个链接的格式。链接参数名字也从 postID 变成了 po。",
"但评论区代码无从更新,评论区无法加载。",
"然后就有了这个(和别的)修复脚本,工作原理大致是:找到 po,复制一份,把名字改成 postID,重新加到链接上。",
"现在,这个脚本找不到名为 po 的链接参数,postID 也没有重新出现,所以修复大概是失效了,需要更新。",
"请编写脚本反馈,也欢迎协助修复!",
"目前超链接元素的链接是:"
].join("\n\n");
const addPostID = () => {
const $editor_src = document.querySelector("a#comment-editor-src");
if ($editor_src === null) return;
const editorUrl = new URL($editor_src.href);
const editorParams = editorUrl.searchParams;
if (editorParams.get("postID") !== null) return;
const postID = editorParams.get("po");
if (postID !== null) {
editorParams.set("postID", postID);
$editor_src.href = editorUrl.href;
} else {
alert(poNullNote + $editor_src.href);
}
};
document.addEventListener("DOMContentLoaded", addPostID, { once: true });