mhtmlの問題

Google Chrome 拡張機能

目次一覧

 状態:結論(後で見返す用)  閲覧数:1,645  投稿日:2020-05-31  更新日:2020-05-31
mhtmlの問題 / mhtmlで保存するのは何のため? / 欲しい拡張機能がないため、自分で作成するしかない

最終的に / 動作確認 / 折角作成したのでChromeウェブストアで公開しようと思ったが…


mhtmlの問題 / mhtmlで保存するのは何のため? / 欲しい拡張機能がないため、自分で作成するしかない

 閲覧数:398 投稿日:2020-05-31 更新日:2020-05-31

mhtmlの問題


「Google Chrome」の仕様がコロコロ変わる
mhtmlで保存できなくなったり、再び出来るようになったり

ショートカットキーで保存したい
・「Google Chrome」のデフォルト仕様では、ショートカットキーでmhtmlファイル保存することが出来ない
・「Google Chrome 拡張機能」を使用するしかない

期待通り動作する「Google Chrome 拡張機能」がない
何れもオプション設定画面が用意されていない
Save As MHT
Save as MHTML

mhtmlで保存するのは何のため?


後から見返すため

「Webページタイトルだけ」をファイル名にすることの問題点
・後からURLを把握できない
・個別に適切なWebページタイトルを付与していない場合(2ページ目)など、ファイル名が重複するためそのまま保存すると上書きされてしまうことがある → URLが必要

欲しい拡張機能がないため、自分で作成するしかない


実際に作成してみて気が付いたこと
「Google Chrome 拡張機能」では、「location.href」で現在URL(閲覧中のサイトURL)を取得できない

現在URL
tab.urlで取得。但し「${tab.url}」としないと、JavaScript実行されない(文字列として取得されてしまう)。理由は不明

現在年月日(時分秒は敢えて取得しない)
JavaScriptで取得する
※但し、月を取得する際()で囲まないと、5ではなく、41となってしまう
const ymdStr = today.getFullYear() + "年" +  (today.getMonth() + 1) + "月"+ today.getDate()  + "日";


最終的に / 動作確認 / 折角作成したのでChromeウェブストアで公開しようと思ったが…

 閲覧数:397 投稿日:2020-05-31 更新日:2020-05-31

最終的に


修正箇所
  const japanStandardTime = new Date().toLocaleString({ timeZone: 'Asia/Tokyo' });
 const today = new Date(japanStandardTime);
 const ymdStr = today.getFullYear() + "年" +  (today.getMonth() + 1) + "月"+ today.getDate()  + "日";
 const filename = `${sanitize(tab.title)} - ${sanitize(tab.url)} - ${ymdStr}.mht`;


動作確認


「パッケージ化されていない拡張機能を読み込む」ことは出来るが、「パッケージ化された拡張機能を読み込む」ことは出来ない

折角作成したのでChromeウェブストアで公開しようと思ったが…


公開する側がお金を支払う必要があるみたい
→ 断念

デベロッパーサインアップ料金を支払う
最初のアプリを公開する前に、1回限りの$ 5の開発者登録料を支払う必要があります。