<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Brave | AYNiMac</title>
	<atom:link href="https://www.aynimac.com/tag/brave/feed/" rel="self" type="application/rss+xml" />
	<link>https://www.aynimac.com</link>
	<description>All You Need is Mac.</description>
	<lastBuildDate>Sun, 26 Apr 2026 09:30:43 +0000</lastBuildDate>
	<language>ja</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.9.4</generator>

<image>
	<url>https://www.aynimac.com/wp/wp-content/uploads/2024/12/cropped-newFavicon-32x32.png</url>
	<title>Brave | AYNiMac</title>
	<link>https://www.aynimac.com</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>OneTabからもっと簡単にエクスポート</title>
		<link>https://www.aynimac.com/2026/04/26/2000/</link>
					<comments>https://www.aynimac.com/2026/04/26/2000/#respond</comments>
		
		<dc:creator><![CDATA[nakamuxu (管理人)]]></dc:creator>
		<pubDate>Sun, 26 Apr 2026 09:28:00 +0000</pubDate>
				<category><![CDATA[Mac]]></category>
		<category><![CDATA[Brave]]></category>
		<category><![CDATA[Chrome]]></category>
		<guid isPermaLink="false">https://www.aynimac.com/?p=2000</guid>

					<description><![CDATA[今のところまだOneTabのバックアップ機能が実装されないので、簡単にエクスポートする方法をClaudeに聞いてみた。]]></description>
										<content:encoded><![CDATA[
<p><a href="https://www.aynimac.com/2025/05/03/1271/">OneTabのデータのバックアップ</a>の続編です。</p>



<figure class="wp-block-image aligncenter size-full"><a href="https://www.aynimac.com/wp/wp-content/uploads/2025/05/onetab_export_b.png"><img fetchpriority="high" decoding="async" width="821" height="507" src="https://www.aynimac.com/wp/wp-content/uploads/2025/05/onetab_export_b.png" alt="" class="wp-image-1272" srcset="https://www.aynimac.com/wp/wp-content/uploads/2025/05/onetab_export_b.png 821w, https://www.aynimac.com/wp/wp-content/uploads/2025/05/onetab_export_b-300x185.png 300w, https://www.aynimac.com/wp/wp-content/uploads/2025/05/onetab_export_b-768x474.png 768w" sizes="(max-width: 821px) 100vw, 821px" /></a></figure>



<p>お忙しいとは思うのだが、今(v2.14)のところまだOneTabのバックアップ機能が実装されないので、簡単にエクスポートする方法を<a rel="noopener" href="https://claude.ai/login" target="_blank">Claude</a>に聞いてみた。拡張機能が表示しているページをClaudeに伝えるのはやや面倒で、ディベロッパーツールを表示してダイナミックに改変されたソースをコピーした上でhtmlとして保存し、さらに加工する必要がありました。</p>



<p>当初は以前同様にブックマークレットでの簡易出力を目指していたのですよ。しかし、やり取りしているうちにどうやらOneTab拡張機能のContent Security Policy (CSP)がブックマークレットの実行をブロックしているらしいということで、別のアプローチを取ることに。<br>Claudeさんは「ブックマークレットが使えないなら、コンソールのスニペット機能を使うのが現実的です」と語っており、ちょっと引っかかるけど「現実的です」の説得力の前に俺は屈したのであった。</p>



<p>「コンソールのスニペット機能」とはディベロッパーツールにある小コード実行機能のこと。ディベロッパーツール（<kbd>Cmd</kbd> + <kbd>Opt</kbd> + <kbd>I</kbd>または<kbd>F12</kbd>）＞Sources＞Snippetsで表示される。「+ New Snippet」から新規登録し、右クリックからRunで実行できる。</p>



<p>出来上がったソースコードの公開に問題ないか聞いてみたら</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p>全く問題ありません。今回のコードは：<br>・<strong>一般的なWeb標準API</strong>（querySelector、Blob、execCommand など）を使っているだけで、特定のサービスに依存していない<br>・<strong>著作権上の懸念もない</strong>シンプルな実用コードで、このレベルのコードは世界中で広く書かれているもの<br>・<strong>個人情報や機密情報を含まない</strong><br>ので、GitHubやブログなどどこで公開しても問題ありません。</p>
</blockquote>



<p>ということでした。なので公開します。<br>以下がClaudeの最終回答の引用です。</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<p>最終的なスニペットをまとめておきます：</p>



<p>javascript</p>



<div class="wp-block-kevinbatdorf-code-block-pro padding-bottom-disabled cbp-has-line-numbers" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#575279;--cbp-line-number-width:calc(2 * 0.6 * .875rem);line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#faf4ed"><svg xmlns="http://www.w3.org/2000/svg" width="54" height="14" viewBox="0 0 54 14"><g fill="none" fill-rule="evenodd" transform="translate(1 1)"><circle cx="6" cy="6" r="6" fill="#57527933" stroke="#5752794d" stroke-width=".5"></circle><circle cx="26" cy="6" r="6" fill="#57527933" stroke="#5752794d" stroke-width=".5"></circle><circle cx="46" cy="6" r="6" fill="#57527933" stroke="#5752794d" stroke-width=".5"></circle></g></svg></span><span role="button" tabindex="0" style="color:#575279;display:none" aria-label="Copy" class="code-block-pro-copy-button"><pre class="code-block-pro-copy-button-pre" aria-hidden="true"><textarea class="code-block-pro-copy-button-textarea" tabindex="-1" aria-hidden="true" readonly>let ta2 = document.querySelector('textarea');
let text = ta2.value.trim();

let now = new Date();
let yyyy = now.getFullYear();
let mm = String(now.getMonth() + 1).padStart(2, '0');
let dd = String(now.getDate()).padStart(2, '0');
let filename = 'oneTab_' + yyyy + mm + dd + '.txt';

let blob = new Blob(&#91;text&#93;, {type: 'text/plain'});
let a = document.createElement('a');
a.href = URL.createObjectURL(blob);
a.download = filename;
a.click();

alert(filename + ' を保存しました！');</textarea></pre><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2"></path></svg></span><pre class="shiki rose-pine-dawn" style="background-color: #faf4ed" tabindex="0"><code><span class="line"><span style="color: #286983">let</span><span style="color: #575279"> </span><span style="color: #575279; font-style: italic">ta2</span><span style="color: #575279"> </span><span style="color: #286983">=</span><span style="color: #575279"> </span><span style="color: #575279; font-style: italic">document</span><span style="color: #286983">.</span><span style="color: #D7827E">querySelector</span><span style="color: #575279">(</span><span style="color: #EA9D34">&#39;textarea&#39;</span><span style="color: #575279">)</span><span style="color: #797593">;</span></span>
<span class="line"><span style="color: #286983">let</span><span style="color: #575279"> </span><span style="color: #575279; font-style: italic">text</span><span style="color: #575279"> </span><span style="color: #286983">=</span><span style="color: #575279"> </span><span style="color: #575279; font-style: italic">ta2</span><span style="color: #286983">.</span><span style="color: #575279; font-style: italic">value</span><span style="color: #286983">.</span><span style="color: #D7827E">trim</span><span style="color: #575279">()</span><span style="color: #797593">;</span></span>
<span class="line"></span>
<span class="line"><span style="color: #286983">let</span><span style="color: #575279"> </span><span style="color: #575279; font-style: italic">now</span><span style="color: #575279"> </span><span style="color: #286983">=</span><span style="color: #575279"> </span><span style="color: #286983">new</span><span style="color: #575279"> </span><span style="color: #D7827E">Date</span><span style="color: #575279">()</span><span style="color: #797593">;</span></span>
<span class="line"><span style="color: #286983">let</span><span style="color: #575279"> </span><span style="color: #575279; font-style: italic">yyyy</span><span style="color: #575279"> </span><span style="color: #286983">=</span><span style="color: #575279"> </span><span style="color: #575279; font-style: italic">now</span><span style="color: #286983">.</span><span style="color: #D7827E">getFullYear</span><span style="color: #575279">()</span><span style="color: #797593">;</span></span>
<span class="line"><span style="color: #286983">let</span><span style="color: #575279"> </span><span style="color: #575279; font-style: italic">mm</span><span style="color: #575279"> </span><span style="color: #286983">=</span><span style="color: #575279"> </span><span style="color: #D7827E">String</span><span style="color: #575279">(</span><span style="color: #575279; font-style: italic">now</span><span style="color: #286983">.</span><span style="color: #D7827E">getMonth</span><span style="color: #575279">() </span><span style="color: #286983">+</span><span style="color: #575279"> </span><span style="color: #D7827E">1</span><span style="color: #575279">)</span><span style="color: #286983">.</span><span style="color: #D7827E">padStart</span><span style="color: #575279">(</span><span style="color: #D7827E">2</span><span style="color: #797593">,</span><span style="color: #575279"> </span><span style="color: #EA9D34">&#39;0&#39;</span><span style="color: #575279">)</span><span style="color: #797593">;</span></span>
<span class="line"><span style="color: #286983">let</span><span style="color: #575279"> </span><span style="color: #575279; font-style: italic">dd</span><span style="color: #575279"> </span><span style="color: #286983">=</span><span style="color: #575279"> </span><span style="color: #D7827E">String</span><span style="color: #575279">(</span><span style="color: #575279; font-style: italic">now</span><span style="color: #286983">.</span><span style="color: #D7827E">getDate</span><span style="color: #575279">())</span><span style="color: #286983">.</span><span style="color: #D7827E">padStart</span><span style="color: #575279">(</span><span style="color: #D7827E">2</span><span style="color: #797593">,</span><span style="color: #575279"> </span><span style="color: #EA9D34">&#39;0&#39;</span><span style="color: #575279">)</span><span style="color: #797593">;</span></span>
<span class="line"><span style="color: #286983">let</span><span style="color: #575279"> </span><span style="color: #575279; font-style: italic">filename</span><span style="color: #575279"> </span><span style="color: #286983">=</span><span style="color: #575279"> </span><span style="color: #EA9D34">&#39;oneTab_&#39;</span><span style="color: #575279"> </span><span style="color: #286983">+</span><span style="color: #575279"> </span><span style="color: #575279; font-style: italic">yyyy</span><span style="color: #575279"> </span><span style="color: #286983">+</span><span style="color: #575279"> </span><span style="color: #575279; font-style: italic">mm</span><span style="color: #575279"> </span><span style="color: #286983">+</span><span style="color: #575279"> </span><span style="color: #575279; font-style: italic">dd</span><span style="color: #575279"> </span><span style="color: #286983">+</span><span style="color: #575279"> </span><span style="color: #EA9D34">&#39;.txt&#39;</span><span style="color: #797593">;</span></span>
<span class="line"></span>
<span class="line"><span style="color: #286983">let</span><span style="color: #575279"> </span><span style="color: #575279; font-style: italic">blob</span><span style="color: #575279"> </span><span style="color: #286983">=</span><span style="color: #575279"> </span><span style="color: #286983">new</span><span style="color: #575279"> </span><span style="color: #D7827E">Blob</span><span style="color: #575279">(&#91;</span><span style="color: #575279; font-style: italic">text</span><span style="color: #575279">&#93;</span><span style="color: #797593">,</span><span style="color: #575279"> </span><span style="color: #797593">{</span><span style="color: #575279">type</span><span style="color: #797593">:</span><span style="color: #575279"> </span><span style="color: #EA9D34">&#39;text/plain&#39;</span><span style="color: #797593">}</span><span style="color: #575279">)</span><span style="color: #797593">;</span></span>
<span class="line"><span style="color: #286983">let</span><span style="color: #575279"> </span><span style="color: #575279; font-style: italic">a</span><span style="color: #575279"> </span><span style="color: #286983">=</span><span style="color: #575279"> </span><span style="color: #575279; font-style: italic">document</span><span style="color: #286983">.</span><span style="color: #D7827E">createElement</span><span style="color: #575279">(</span><span style="color: #EA9D34">&#39;a&#39;</span><span style="color: #575279">)</span><span style="color: #797593">;</span></span>
<span class="line"><span style="color: #575279; font-style: italic">a</span><span style="color: #286983">.</span><span style="color: #575279; font-style: italic">href</span><span style="color: #575279"> </span><span style="color: #286983">=</span><span style="color: #575279"> </span><span style="color: #575279; font-style: italic">URL</span><span style="color: #286983">.</span><span style="color: #D7827E">createObjectURL</span><span style="color: #575279">(</span><span style="color: #575279; font-style: italic">blob</span><span style="color: #575279">)</span><span style="color: #797593">;</span></span>
<span class="line"><span style="color: #575279; font-style: italic">a</span><span style="color: #286983">.</span><span style="color: #575279; font-style: italic">download</span><span style="color: #575279"> </span><span style="color: #286983">=</span><span style="color: #575279"> </span><span style="color: #575279; font-style: italic">filename</span><span style="color: #797593">;</span></span>
<span class="line"><span style="color: #575279; font-style: italic">a</span><span style="color: #286983">.</span><span style="color: #D7827E">click</span><span style="color: #575279">()</span><span style="color: #797593">;</span></span>
<span class="line"></span>
<span class="line"><span style="color: #D7827E">alert</span><span style="color: #575279">(</span><span style="color: #575279; font-style: italic">filename</span><span style="color: #575279"> </span><span style="color: #286983">+</span><span style="color: #575279"> </span><span style="color: #EA9D34">&#39; を保存しました！&#39;</span><span style="color: #575279">)</span><span style="color: #797593">;</span></span></code></pre><span style="display:flex;align-items:flex-end;padding:10px;width:100%;justify-content:flex-end;background-color:#faf4ed;color:#625c88;font-size:12px;line-height:1;position:relative">JavaScript</span></div>



<p><strong>次回からの手順：</strong></p>



<ol class="wp-block-list">
<li>OneTabのエクスポートページを開く</li>



<li>F12 → Sources → Snippets</li>



<li>スニペットを右クリック → Run</li>
</ol>



<p>また何かあればお気軽にどうぞ！</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<p>以上、引用です。<br>ここに書かれたJavascriptコードをディベロッパーツール＞Sources＞Snippetsで新規登録したらいいよ、ということですね。</p>



<p>変数名が「ta2」になってるのが気になりますが、「ta」はどっかで使用済みで使えませんので注意。<br>また、ディベロッパーツールのスニペットの、より簡易的な実行方法については<a rel="noopener" href="https://laboradian.com/run-snippet-on-devtools/" target="_blank">DevTools の snippet をキーボード操作のみで実行する – ラボラジアン</a>という記事もありました。Macでのキーボードショートカットを書いておきます。</p>



<ol class="wp-block-list">
<li><kbd>Cmd</kbd> + <kbd>Opt</kbd> + <kbd>I</kbd>または<kbd>F12</kbd>でディベロッパーツールを開く</li>



<li>ディベロッパーツールにフォーカスのある状態で<kbd>Cmd</kbd> + <kbd>O</kbd> でコマンドメニューを開く</li>



<li><kbd>!</kbd>を入力、作成済みsnippetが表示される</li>



<li>目的のものを選択し、<kbd>Enter</kbd>キーを押下</li>
</ol>
]]></content:encoded>
					
					<wfw:commentRss>https://www.aynimac.com/2026/04/26/2000/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>macOS「Dockから戻すときのChrome系の『残像』問題」、いつの間にか解消</title>
		<link>https://www.aynimac.com/2025/12/30/1552/</link>
		
		<dc:creator><![CDATA[nakamuxu (管理人)]]></dc:creator>
		<pubDate>Tue, 30 Dec 2025 03:16:00 +0000</pubDate>
				<category><![CDATA[Mac]]></category>
		<category><![CDATA[Brave]]></category>
		<category><![CDATA[Chrome]]></category>
		<category><![CDATA[Dock]]></category>
		<guid isPermaLink="false">https://www.aynimac.com/?p=1552</guid>

					<description><![CDATA[まず、「Dockから戻すときのChrome系の『残像』問題」とは何か。俺の環境で、ChromeやBraveなどのいわゆる「Chrome系（Chromium嫡流）」のWebブラウザアプリで起きていたものです。何度か検索して [&#8230;]]]></description>
										<content:encoded><![CDATA[
<figure class="wp-block-image aligncenter size-large is-resized"><a href="https://www.aynimac.com/wp/wp-content/uploads/2025/12/brave_in_dock.jpg"><img decoding="async" width="1024" height="676" src="https://www.aynimac.com/wp/wp-content/uploads/2025/12/brave_in_dock-1024x676.jpg" alt="" class="wp-image-1553" style="width:680px;height:auto" srcset="https://www.aynimac.com/wp/wp-content/uploads/2025/12/brave_in_dock-1024x676.jpg 1024w, https://www.aynimac.com/wp/wp-content/uploads/2025/12/brave_in_dock-300x198.jpg 300w, https://www.aynimac.com/wp/wp-content/uploads/2025/12/brave_in_dock-768x507.jpg 768w, https://www.aynimac.com/wp/wp-content/uploads/2025/12/brave_in_dock.jpg 1296w" sizes="(max-width: 1024px) 100vw, 1024px" /></a></figure>



<p>まず、「Dockから戻すときのChrome系の『残像』問題」とは何か。俺の環境で、ChromeやBraveなどのいわゆる「Chrome系（Chromium嫡流）」のWebブラウザアプリで起きていたものです。何度か検索してみたけれど、検索方法が悪いせいか全くヒットしなかったのです。Braveで再現する手順は以下の通り（だが、後述する通り最新環境では直っている）。</p>



<ol class="wp-block-list">
<li>Brave起動</li>



<li>メインウインドウの最小化ボタンを押下してDockに格納</li>



<li>Dockのアプリアイコンをクリックする</li>



<li>一瞬、元のウインドウが表示される</li>



<li>逆ジニーエフェクトでウインドウが拡大表示される</li>
</ol>



<p>この流れの中の「4.」が問題の「残像」と表現しているものです。これが非常にうざくて嫌いだったんです。が、アプリアイコンでなく右方のウインドウアイコンをクリックすると残像は表示されません。なので意識してウインドウアイコンをクリックするようにしてました。<br>あと、Dockへ格納後別アプリを全面に持ってくるとかも試しましたが効果はありませんでした。<br>発生環境としては以下のものです。</p>



<ul class="wp-block-list">
<li>iMac 2021 (M1)</li>



<li>macOS: Big Sur &#8211; Tahoe（だと思われるが、後述の通りで詳細不明）</li>



<li>発生するアプリ: Chrome、BraveなどChromiumの子孫</li>
</ul>



<p>最初この問題に気づいたのは今使ってるiMac（2021, M1）を使い始めた時です。だからmacOSはBig SurかMontereyだったはず。すぐにVenturaにアップデートしてしまったので、自分が確認した時の最初のOSバージョンも曖昧になってしまいました。また、俺が知らないだけで昔から起きていたのかもしれません。確実なのはVenturaでは発生していたということです。その後、Sonomaでも改善されていなかったはず。怪しいのはSequoiaの後期とTahoeだなー。<br>直っていたのに気づいたのは、今年の11/18。Tahoe 26.1がリリースされた直後なのでここで直った説が最も有力ですが、26.0や下手するとSequoiaの最後の方でもう直ってたかもしれません。あるいは実はChrome側の問題だったのかもしれません。前述の通りもっぱらアプリアイコンでの拡大を多用してたので気づけなかったのです。</p>



<p>ブラウザ側の問題なのかOSの問題なのか時間が取れたらじっくり調査するつもりだったのですが、あっという間に数年が経過、気づいてたら直ってたという次第です…。</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>OneTabのデータのバックアップ</title>
		<link>https://www.aynimac.com/2025/05/03/1271/</link>
		
		<dc:creator><![CDATA[nakamuxu (管理人)]]></dc:creator>
		<pubDate>Sat, 03 May 2025 05:08:12 +0000</pubDate>
				<category><![CDATA[Mac]]></category>
		<category><![CDATA[Brave]]></category>
		<category><![CDATA[Chrome]]></category>
		<guid isPermaLink="false">https://www.aynimac.com/?p=1271</guid>

					<description><![CDATA[OneTabのバックアップの手数が多いのでちょっと工夫してみました。
2026.03.01 追記あり
さらに2026.04.26追記]]></description>
										<content:encoded><![CDATA[
<p><strong>2026.04.26 追記</strong>: 続きを書きました ＞ <a href="https://www.aynimac.com/2026/04/26/2000/">OneTabからもっと簡単にエクスポート | AYNiMac</a></p>



<p><strong>2026.03.01 追記</strong>: このエントリ後半にあるスクリプトは、先月公開されたバージョン<s>2.8</s>以降では動作しなくなりました。新たなバックアップ機能について「近日公開予定」ということですので期待して待ちましょう…！</p>



<figure class="wp-block-image aligncenter size-full"><a href="https://www.aynimac.com/wp/wp-content/uploads/2025/05/4e0dfc4805a3e6e6e28182b6596ba443.png" target="_blank"><img decoding="async" width="821" height="507" src="https://www.aynimac.com/wp/wp-content/uploads/2025/05/onetab_export_b.png" alt="" class="wp-image-1272" srcset="https://www.aynimac.com/wp/wp-content/uploads/2025/05/onetab_export_b.png 821w, https://www.aynimac.com/wp/wp-content/uploads/2025/05/onetab_export_b-300x185.png 300w, https://www.aynimac.com/wp/wp-content/uploads/2025/05/onetab_export_b-768x474.png 768w" sizes="(max-width: 821px) 100vw, 821px" /></a></figure>



<p>Chrome系のブラウザの拡張機能「<a title="OneTab extension for Google Chrome and Firefox - save up to 95% memory and reduce tab clutter" href="https://www.one-tab.com/">OneTab</a>」、使ってますか？<br>開いているタブを一旦閉じてOneTabが作る固定タブの1リンクとして仮保存しておけるものです。メモリも節約できるし、一時的なブックマークとしても使えます。<br>わたしはもう何年も愛用させていただいてます。これなしではもうネットサーフィン（死語）できないですわ。</p>



<p>しかし問題がないわけじゃなくて、バックアップが大変。失っても構わないものばかりという訳ではないので、万が一に備えてバックアップをとっておきたいのですがこれがちょっと手間なんです。例えば<a href="https://coteditor.com/" title="CotEditor -Text Editor for macOS">CotEditor</a>でテキストファイルとして保存する場合だと下記の手順が必要です。</p>



<ol class="wp-block-list">
<li>OneTabの固定タブを開く</li>



<li>「URLの読み込み/書き出し」リンクをクリック</li>



<li>開いたタブの「URLの書き出し」テキストエリア内をクリック</li>



<li>すべてを選択（<kbd>Cmd</kbd> + <kbd>A</kbd>）</li>



<li>選択されたテキストをコピー（<kbd>Cmd</kbd> + <kbd>C</kbd>）</li>



<li>アプリをCotEditorに切り替えて新規ドキュメントを開く</li>



<li>ペースト（<kbd>Cmd</kbd> + <kbd>V</kbd>）</li>



<li>保存（<kbd>Cmd</kbd> + <kbd>S</kbd>）</li>



<li>ファイル保存ダイアログで場所を決めファイル名を入力し保存ボタン押下</li>
</ol>



<p>毎回ファイル名入力が必要だとか手間なので開発元への要望は何年か前に出してみましたが、改善される気配はありません。お忙しいでしょうしそれは仕方ないです。<br>ということで少しでも簡単にバックアップが保存できるように、自分でできる範囲で試してみました。</p>



<ol class="wp-block-list">
<li>OneTabの固定タブを開く</li>



<li>「URLの読み込み/書き出し」リンクをクリック（ここまで通常の手順と同じ）</li>



<li>デベロッパーツールを開く（<kbd>Cmd</kbd> + <kbd>Opt</kbd> + <kbd>I</kbd>、または<kbd>F12</kbd>）</li>



<li>「Console」を開く</li>



<li>プロンプト（&gt;）の右をクリック</li>



<li>「<code>javascript:(function(){var dt=new Date,ys=dt.getFullYear(),ms=("00"+(dt.getMonth()+1)).slice(-2),ds=("00"+dt.getDate()).slice(-2),fname="oneTab_"+ys+ms+ds+".txt",te=document.getElementsByTagName("textarea");const blob=new Blob([te[1].value],{type:"text/plain"}),url=URL.createObjectURL(blob);var a=document.createElement("a");document.body.appendChild(a);a.download=fname;a.href=url;a.click();a.remove();URL.revokeObjectURL(url);})();</code>」を貼り付ける</li>



<li>エンターキーを押下</li>



<li>保存場所を決めてOKボタンを押下</li>
</ol>



<p>手数はひとつ減っただけなんですけど、保存時のファイル名が最初から入力済みなのでそこは楽です。ペーストするJavaScriptはスニペットツール（RaycastとかAlfredとかaTextとか）に登録しておけばキーボードショートカット一発でいけますしね。また、デベロッパーツールでのConsoleの選択は、次回以降も記憶されていますので切り替えるまでは再選択の必要はありません。</p>



<p>貼り付けるJavaScript、再掲しておきます。</p>



<div class="wp-block-kevinbatdorf-code-block-pro padding-bottom-disabled cbp-has-line-numbers" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#575279;--cbp-line-number-width:calc(1 * 0.6 * .875rem);line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#faf4ed"><svg xmlns="http://www.w3.org/2000/svg" width="54" height="14" viewBox="0 0 54 14"><g fill="none" fill-rule="evenodd" transform="translate(1 1)"><circle cx="6" cy="6" r="6" fill="#57527933" stroke="#5752794d" stroke-width=".5"></circle><circle cx="26" cy="6" r="6" fill="#57527933" stroke="#5752794d" stroke-width=".5"></circle><circle cx="46" cy="6" r="6" fill="#57527933" stroke="#5752794d" stroke-width=".5"></circle></g></svg></span><span role="button" tabindex="0" style="color:#575279;display:none" aria-label="Copy" class="code-block-pro-copy-button"><pre class="code-block-pro-copy-button-pre" aria-hidden="true"><textarea class="code-block-pro-copy-button-textarea" tabindex="-1" aria-hidden="true" readonly>javascript:(function(){var dt=new Date,ys=dt.getFullYear(),ms=("00"+(dt.getMonth()+1)).slice(-2),ds=("00"+dt.getDate()).slice(-2),fname="oneTab_"+ys+ms+ds+".txt",te=document.getElementsByTagName("textarea");const blob=new Blob([te&#91;1&#93;.value],{type:"text/plain"}),url=URL.createObjectURL(blob);var a=document.createElement("a");document.body.appendChild(a);a.download=fname;a.href=url;a.click();a.remove();URL.revokeObjectURL(url);})();</textarea></pre><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2"></path></svg></span><pre class="shiki rose-pine-dawn" style="background-color: #faf4ed" tabindex="0"><code><span class="line"><span style="color: #D7827E">javascript</span><span style="color: #797593">:</span><span style="color: #575279">(</span><span style="color: #286983">function</span><span style="color: #797593">(){</span><span style="color: #286983">var</span><span style="color: #575279"> </span><span style="color: #575279; font-style: italic">dt</span><span style="color: #286983">=new</span><span style="color: #575279"> </span><span style="color: #575279; font-style: italic">Date</span><span style="color: #797593">,</span><span style="color: #575279; font-style: italic">ys</span><span style="color: #286983">=</span><span style="color: #575279; font-style: italic">dt</span><span style="color: #286983">.</span><span style="color: #D7827E">getFullYear</span><span style="color: #575279">()</span><span style="color: #797593">,</span><span style="color: #575279; font-style: italic">ms</span><span style="color: #286983">=</span><span style="color: #575279">(</span><span style="color: #EA9D34">&quot;00&quot;</span><span style="color: #286983">+</span><span style="color: #575279">(</span><span style="color: #575279; font-style: italic">dt</span><span style="color: #286983">.</span><span style="color: #D7827E">getMonth</span><span style="color: #575279">()</span><span style="color: #286983">+</span><span style="color: #D7827E">1</span><span style="color: #575279">))</span><span style="color: #286983">.</span><span style="color: #D7827E">slice</span><span style="color: #575279">(</span><span style="color: #286983">-</span><span style="color: #D7827E">2</span><span style="color: #575279">)</span><span style="color: #797593">,</span><span style="color: #575279; font-style: italic">ds</span><span style="color: #286983">=</span><span style="color: #575279">(</span><span style="color: #EA9D34">&quot;00&quot;</span><span style="color: #286983">+</span><span style="color: #575279; font-style: italic">dt</span><span style="color: #286983">.</span><span style="color: #D7827E">getDate</span><span style="color: #575279">())</span><span style="color: #286983">.</span><span style="color: #D7827E">slice</span><span style="color: #575279">(</span><span style="color: #286983">-</span><span style="color: #D7827E">2</span><span style="color: #575279">)</span><span style="color: #797593">,</span><span style="color: #575279; font-style: italic">fname</span><span style="color: #286983">=</span><span style="color: #EA9D34">&quot;oneTab_&quot;</span><span style="color: #286983">+</span><span style="color: #575279; font-style: italic">ys</span><span style="color: #286983">+</span><span style="color: #575279; font-style: italic">ms</span><span style="color: #286983">+</span><span style="color: #575279; font-style: italic">ds</span><span style="color: #286983">+</span><span style="color: #EA9D34">&quot;.txt&quot;</span><span style="color: #797593">,</span><span style="color: #575279; font-style: italic">te</span><span style="color: #286983">=</span><span style="color: #575279; font-style: italic">document</span><span style="color: #286983">.</span><span style="color: #D7827E">getElementsByTagName</span><span style="color: #575279">(</span><span style="color: #EA9D34">&quot;textarea&quot;</span><span style="color: #575279">)</span><span style="color: #797593">;</span><span style="color: #286983">const</span><span style="color: #575279"> </span><span style="color: #575279; font-style: italic">blob</span><span style="color: #286983">=new</span><span style="color: #575279"> </span><span style="color: #D7827E">Blob</span><span style="color: #575279">([</span><span style="color: #575279; font-style: italic">te</span><span style="color: #575279">&#91;</span><span style="color: #D7827E">1</span><span style="color: #575279">&#93;</span><span style="color: #286983">.</span><span style="color: #575279; font-style: italic">value</span><span style="color: #575279">]</span><span style="color: #797593">,{</span><span style="color: #575279">type</span><span style="color: #797593">:</span><span style="color: #EA9D34">&quot;text/plain&quot;</span><span style="color: #797593">}</span><span style="color: #575279">)</span><span style="color: #797593">,</span><span style="color: #575279; font-style: italic">url</span><span style="color: #286983">=</span><span style="color: #575279; font-style: italic">URL</span><span style="color: #286983">.</span><span style="color: #D7827E">createObjectURL</span><span style="color: #575279">(</span><span style="color: #575279; font-style: italic">blob</span><span style="color: #575279">)</span><span style="color: #797593">;</span><span style="color: #286983">var</span><span style="color: #575279"> </span><span style="color: #575279; font-style: italic">a</span><span style="color: #286983">=</span><span style="color: #575279; font-style: italic">document</span><span style="color: #286983">.</span><span style="color: #D7827E">createElement</span><span style="color: #575279">(</span><span style="color: #EA9D34">&quot;a&quot;</span><span style="color: #575279">)</span><span style="color: #797593">;</span><span style="color: #575279; font-style: italic">document</span><span style="color: #286983">.</span><span style="color: #575279; font-style: italic">body</span><span style="color: #286983">.</span><span style="color: #D7827E">appendChild</span><span style="color: #575279">(</span><span style="color: #575279; font-style: italic">a</span><span style="color: #575279">)</span><span style="color: #797593">;</span><span style="color: #575279; font-style: italic">a</span><span style="color: #286983">.</span><span style="color: #575279; font-style: italic">download</span><span style="color: #286983">=</span><span style="color: #575279; font-style: italic">fname</span><span style="color: #797593">;</span><span style="color: #575279; font-style: italic">a</span><span style="color: #286983">.</span><span style="color: #575279; font-style: italic">href</span><span style="color: #286983">=</span><span style="color: #575279; font-style: italic">url</span><span style="color: #797593">;</span><span style="color: #575279; font-style: italic">a</span><span style="color: #286983">.</span><span style="color: #D7827E">click</span><span style="color: #575279">()</span><span style="color: #797593">;</span><span style="color: #575279; font-style: italic">a</span><span style="color: #286983">.</span><span style="color: #D7827E">remove</span><span style="color: #575279">()</span><span style="color: #797593">;</span><span style="color: #575279; font-style: italic">URL</span><span style="color: #286983">.</span><span style="color: #D7827E">revokeObjectURL</span><span style="color: #575279">(</span><span style="color: #575279; font-style: italic">url</span><span style="color: #575279">)</span><span style="color: #797593">;}</span><span style="color: #575279">)()</span><span style="color: #797593">;</span></span></code></pre><span style="display:flex;align-items:flex-end;padding:10px;width:100%;justify-content:flex-end;background-color:#faf4ed;color:#625c88;font-size:12px;line-height:1;position:relative">JavaScript</span></div>



<p>以下のBrave（Mac版）で動作確認してます。<br><code>バージョン: 1.77.101 Chromium: 135.0.7049.115（Official Build） （arm64）</code></p>



<p>デベロッパーツールで「undefined」エラー？が軽く出てますけど自分で使うものだしいいかなとそのままにしてます。&#x1f604;</p>



<p></p>
]]></content:encoded>
					
		
		
			</item>
	</channel>
</rss>
