ページを印刷するボタンを表示するUserScript
ボタンに使用しているアイコン
/icons/印刷.icon
注意点
UserCSSを適用しているプロジェクトで使用するとレイアウトが崩れることがあります
もし印刷後に通信が復帰しなかったり、レイアウトが崩れたままになった場合はページを再読み込みしてください
使い方
準備
下のソースコード(printStyle.cssとscript.js)を自分の環境にコピーする
script.jsの1行目に記述しているCSSの場所は適宜書き換える
使い方
1. 右側の/icons/印刷.iconをクリック
https://gyazo.com/c67bada1ef77483cb77ac8244151fffe
2. 印刷ダイアログが出てくるので設定を変更して「印刷」(または「保存」)をクリックする https://gyazo.com/f96c58281ac4286d3cdb6273342e3322
この画像はChromeで撮影されたもの
ソースコード
code:printStyle.css
nav.navbar,
.app > .container,
.col-page-side:is(div, aside),
.related-page-list:is(div, section),
display: none !important;
}
code:script.js
const CSS_SRC = "/api/code/Mijinko/ページを印刷するボタンを表示するUserScript/printStyle.css"
async function enableCSS() {
const link = document.createElement("link")
link.rel = "stylesheet"
link.href = CSS_SRC
document.head.appendChild(link)
await new Promise(resolutionFunc => {
link.onload = resolutionFunc
})
}
function disableCSS(cssSrc) {
const existLinks = document.head.getElementsByTagName("link");
for (const el of existLinks) {
if (el.getAttribute("href") == cssSrc) {
el.remove();
}
}
}
async function printPage() {
await enableCSS()
window.print()
disableCSS(CSS_SRC)
}
scrapbox.PageMenu.addMenu({
title: "print",
// onClick: savePageToPDF,
onClick: printPage,
});