2015年8月に、Microsoft Edgeで開いているページを名前を付けて保存する方法について記事を書きました。
しかし、Edgeのアップデートによって、現在この方法は使えなくなっています。
試しに下記ブックマークレットをインポートして使ってみましたが、「SelectAll」の方は問題なく動作するのに対して、「SaveAs」はクリックしても何の反応もありませんでした。
1 2 3 4 5 6 7 8 | <! DOCTYPE NETSCAPE-Bookmark-file-1> < META HTTP-EQUIV = "Content-Type" CONTENT = "text/html; charset=UTF-8" > < TITLE >Bookmarks</ TITLE > < H1 >Bookmarks</ H1 > < DL >< p > < DT >< A HREF = "javascript:document.execCommand('SelectAll');" >SelectAll</ A > < DT >< A HREF = "javascript:(function(){document.execCommand('SaveAs',1,document.title);})();" >SaveAs</ A > </ DL >< p > |
代替案
execCommandからのSaveAsがダメなら「msSaveOrOpenBlob」を使って無理やりページ内容を保存してみます。
1 2 3 4 5 6 7 | <! DOCTYPE NETSCAPE-Bookmark-file-1> < META HTTP-EQUIV = "Content-Type" CONTENT = "text/html; charset=UTF-8" > < TITLE >Bookmarks</ TITLE > < H1 >Bookmarks</ H1 > < DL >< p > < DT >< A HREF = "javascript:window.navigator.msSaveOrOpenBlob(new Blob([new XMLSerializer().serializeToString(document)]),document.title+'.html');" >msSaveOrOpenBlob</ A > </ DL >< p > |
上図の通り、今度は意図した通りにHTML形式で保存することができました。
ただ、正直“他のブラウザーで保存した方がよっぽどマシ”なレベルですので、上記ブックマークレットをわざわざ用意する必要性は無いだろうと思います。
とりあえず、Edgeでもこういったことができるんだ!程度に思っていただければ幸いです。
参考Webページ
- JavaScript実行済みのDOMをHTMLファイルとして保存するブックマークレット
- http://blog.mudatobunka.org/entry/2015/12/23/211425
- Blob と msSaveBlob を使ってファイルをローカルに保存する
- https://msdn.microsoft.com/ja-jp/library/hh779016.aspx
この記事へのコメントはありません。