2015年8月に、Microsoft Edgeで開いているページを名前を付けて保存する方法について記事を書きました。
しかし、Edgeのアップデートによって、現在この方法は使えなくなっています。
試しに下記ブックマークレットをインポートして使ってみましたが、「SelectAll」の方は問題なく動作するのに対して、「SaveAs」はクリックしても何の反応もありませんでした。
<!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」を使って無理やりページ内容を保存してみます。
<!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
この記事へのコメントはありません。