
みなさんこんにちは、ガノー(Twitter:Ganohr)です。
当サイトは様々なオリジナルのソフトウェア・ツール類を公開しています。
当サイトはそれらをChromeやFirefox、Safari等でダウンロードすることを許可していますが、Edgeを利用してダウンロードすることを禁止しました。
詳細は以下からご確認ください。

この記事では、Edge経由でファイルをダウンロードできなくする対策スクリプトを公開します。
この記事は、右クリックでファイルをダウンロードできなくするようなものではありません。通常はダウンロードリンクを掲示しており、Edgeの場合のみそのリンクを無効化するためのスクリプトです。
したがってこの記事の内容は、概ねツールベンダーやソフトウェアベンダーのみに有益です
更新履歴
Edgeからのファイルのダウンロードを禁止する対策スクリプト

if (navigator.userAgent.includes("Edg")) {
document.querySelector(".download-attachments").innerHTML
= "<h2><del>ダウンロード</del></h2>"
+ "<div class='red'>あなたは今<em>Microsoft Edge</em>を利用しているため、ファイルのダウンロードが禁止されています。</div>"
+ "<div class='red'>ファイルのダウンロードはChromeやFirefox、Safariなどへ乗り換えた上でお願いします。</div>"
+ "<div class='red'><a href='https://ganohr.net/blog/siteinfo-updated-for-disallow-downloading-ganohrs-original-softwares-with-using-microsoft-edge/' rel='noindex,nofollow'>※ Microsoft Edgeを利用したダウンロードが禁止されている理由が知りたい方は、こちらをご覧ください。</a></div>"
+ "<div> </div>"
+ "<p>【<strong>Google Chrome</strong>】</p>"
+ "<ul>"
+ "<li><a href='https://support.google.com/chrome/answer/95346?hl=ja&co=GENIE.Platform%3DDesktop'>Google Chromeのデスクトップ版はこちら</a></li>"
+ "<li><a href='https://support.google.com/chrome/answer/95346?hl=ja&co=GENIE.Platform%3DAndroid&oco=1'>Google ChromeのAndroid版はこちら</a></li>"
+ "<li><a href='https://support.google.com/chrome/answer/95346?hl=ja&co=GENIE.Platform%3DiOS&oco=1'>Google ChromeのiPhone及びiPad版はこちら</a></li>"
+ "</ul>"
+ "<div> </div>"
+ "<p>【<strong>Firefox</strong>】</p>"
+ "<ul>"
+ "<li><a href='https://www.mozilla.org/ja/firefox/new/'>Firefoxのデスクトップ版はこちら</a></li>"
+ "<li><a href='https://www.mozilla.org/ja/firefox/browsers/mobile/android/'>FirefoxのAndroid版はこちら</a></li>"
+ "<li><a href='https://www.mozilla.org/ja/firefox/browsers/mobile/ios/'>FirefoxのiPhone及びiPad版はこちら</a></li>"
+ "</ul>"
+ "<div> </div>"
+ "<p>【<strong>Safari</strong>】</p>"
+ "<ul><li><a href='https://www.apple.com/jp/safari/'>Safariはこちら</a></li></ul>";
}
解説
解説するほどの内容ではありませんが、1行目のif
文のnavigator.userAgent.includes("Edg")
がEdgeかどうかを判定しています。
なお、Edge
の場合は通常状態、Edg
の場合はプライベートブラウズモードです。
UserAgent
は偽装可能ですが、Edgeからのダウンロードのみを無効化したい場合はこれで十分です。
条件に合致する(≒Edgeの)場合document.querySelector(".download-attachments").innerHTML
を用いて、ダウンロードリンクを無効化&説明を記載します。
動作は簡単ですが、実装の際は「※ Microsoft Edgeを利用したダウンロードが禁止されている理由が知りたい方は、こちらをご覧ください。」の文言やリンク先、ダウンロードを無効化するためのセレクタ等の修正を忘れないでください。
最後に

Edgeはフリーソフト開発文化を蔑ろにした完全なる害悪ブラウザです。
当サイトはオリジナルのツールを多数、善意で無償公開しています。
しかし、Edgeはダウンロード件数が少ないファイルのダウンロードを実質的に禁止しました。
考えれば分かることですが、特定のニッチな層に向けたツールや、特定の不具合を修正するツールを公開する理由は、そもそもダウンロード数を増やすことが目的ではありません。
不具合を解消したり、多少なりとも便利にするためのものです。
これを端的に理解できる一例として、フェイクソフトのリスティング広告汚染問題があります。例えばOBSなどの各種有益なソフトウェアが、マルウェアやトロイの木馬が仕込まれて、Googleのリスティング広告にて配信された問題があります。
それらの問題のあるソフトウェアは、ダウンロードされなければ意味がありません。
しかし、多くのフリーソフト開発者が開発して公開する、不具合対策ツールなどの本来有用なソフトほど、大多数にダウンロードされる必要はないのです。
要するに、
ダウンロード数をもとにした評価は、大多数のツール類において、必ず誤った警告が表示されるためファイルがダウンロードできなくなるということです。
あなたは本当にEdgeからでもファイルがダウンロードされることに利点を感じるのでしょうか?
「フリーソフトの価値はダウンロード数で決まる」と思いこんでいるようなブラウザなのに?
そうしたこれまでの姿勢がもたらした、完全な負け組ブラウザなのに?
私はInternet explorer同様に、Edgeも消えてなくなればいいと心底思っています。
コメントを書く