他人のScrapboxのUserCSSをすべて無効化するJavaScript
好みじゃない・見づらい場合があるのでUserCSSを無効にしたい 手動でやるにはF12開いて以下のどちらかを全消しすればいい
Sourceのscrapbox.io/api/code/PROJECTNAME/settings/style.css
Elementの<link rel="stylesheet" href="/api/code/PROJECTNAME/settings/style.css">
初期設定ですべてのScrapboxのプロジェクトで無効にするようにしている
特定のプロジェクトだけ外したいという人は設定タブでinclude/excludeを定義する
元のmatchを外したり、ユーザーによる追加で無効にしたいページを追加していく
https://gyazo.com/c8778257f972c6aafffa6187cdafa49c
Scrapboxサービス内でProjectを遷移したときに適用するProjectかしないProjectかの処理わけがうまく動作しない
/help-jpで遷移したときとかnav bar左上のやつ押して遷移したときとか 方法
現状removeCSSFile()をwindow.onloadでトリガーしている部分を変える?
そもそも@matchで実行するページかどうかが判定されていなくないか?
直せる人がいたらforkしたりしてコメよろです
以下のコードはCC0です
code:Disable Scrapbox UserCSS.js
// ==UserScript==
// @name Disable Scrapbox UserCSS
// @version 1.0
// @description disable usercss
// @author ChatGPT, yozba
// @license CC0
// @grant none
// ==/UserScript==
(function() {
'use strict';
// 現在のページのURLを解析し、cssFileToRemoveを生成
var currentURL = window.location.href;
var match = currentURL.match(/scrapbox\.io\/(^/+)/); var cssFileToRemove = match ? '/api/code/' + match1 + '/settings/style.css' : ''; var removeCSSFile = function() {
linkElements.forEach(function(linkElement) {
var href = linkElement.getAttribute('href');
if (href && href.includes(cssFileToRemove)) {
linkElement.remove();
}
});
};
window.addEventListener('load', function() {
removeCSSFile();
});
})();