質問: 私はWebサイトを作っているのですが、ユーザーが別のタブでどのサイトを見ているのか、PC上で別のソフトウェアを開いているかどうかを検知することは可能ですか? タイトルではjavascriptと書いていますが、別にjavascript以外の手段でも構いません。
回答: 単なるウェブサイトにおいてブラウザ上で無制限にこれができてしまうとユーザーのプライバシー的にまずいです。基本的にはできないものと考えて問題ないと思われます。 ただし「同じブラウザの他のタブで自分と同じページが開かれているか」に限定すれば、localStorage の仕組みを使うなどして検知することは可能です。個人的にはユーザーの自由を奪っているようであまりオススメしたくありませんが......。 また、拡張機能を使ってウェブサイト外の仕組みで実現することは可能です。この場合ブラウザについている機能を使うことになります(例:`chrome.tabs`)。一般的なブラウザでは実行前にユーザーに権限の許可を問う形になっているはずです。