Skip to content

Instantly share code, notes, and snippets.

@yaasita
Created May 27, 2025 17:53
Show Gist options
  • Save yaasita/6a33cd57529b7397b07e4c0f0104db1d to your computer and use it in GitHub Desktop.
Save yaasita/6a33cd57529b7397b07e4c0f0104db1d to your computer and use it in GitHub Desktop.
javascript:(async () => {
if (!("showDirectoryPicker" in window) && !("navigator" in window && "storage" in navigator.storage && "getDirectory" in navigator.storage)) {
alert("OPFSがサポートされていません。最新のChromeまたはEdgeをお試しください。");
return;
}
let root;
if ('getDirectory' in navigator.storage) {
root = await navigator.storage.getDirectory();
} else {
alert("お使いのブラウザでOPFSが利用できません。");
return;
}
try {
const fileHandle = await root.getFileHandle('page_backup.html');
const file = await fileHandle.getFile();
const html = await file.text();
document.open();
document.write(html);
document.close();
} catch (e) {
alert("保存されたHTMLが見つかりません。先に保存ブックマークレットを実行してください。");
}
})();
javascript:(async () => {
if (!("showDirectoryPicker" in window) && !("navigator" in window && "storage" in navigator && "getDirectory" in navigator.storage)) {
alert("OPFSがサポートされていません。最新のChromeまたはEdgeをお試しください。");
return;
}
// OPFSにディレクトリを作成または取得
let root;
if ('getDirectory' in navigator.storage) {
root = await navigator.storage.getDirectory();
} else {
alert("お使いのブラウザでOPFSが利用できません。");
return;
}
// ファイル作成・書き込み
const fileHandle = await root.getFileHandle('page_backup.html', { create: true });
const writable = await fileHandle.createWritable();
await writable.write(document.documentElement.outerHTML);
await writable.close();
alert("現在のページのHTMLをOPFSに保存しました。");
})();
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment