Webサイトを閲覧していて、リンクをクリックしたのに「javascript:void(0)」と表示されてページが開かないことがあります。
この問題は、業務システムや会員サイトで起こると、作業が進まなくて困りますよね。
この記事では、javascript:void(0)が表示されてリンクが開かない原因と、すぐに試せる解決方法を詳しく解説します。
javascript:void(0)とは何か

まず、javascript:void(0)が何を意味するのかを理解しましょう。
基本的な役割
javascript:void(0)は、リンクをクリックしてもページを移動させないためのJavaScriptコードです。
通常、リンク(aタグ)をクリックすると別のページに移動しますが、開発者が「リンクの見た目は保ちつつ、JavaScriptの処理だけを実行したい」という場合に使われます。
例えば、以下のようなコードです。
<a href="javascript:void(0)" onclick="showModal()">詳細を見る</a>
このコードでは、リンクをクリックするとshowModal()という関数が実行されますが、ページ遷移は発生しません。
なぜ使われるのか
1990年代後半から2000年代初頭のWeb開発では、この方法が広く使われていました。
当時のブラウザでは、イベント処理の方法が限られていたため、リンクの動作を制御する手段としてjavascript:void(0)が便利だったのです。
ただし、現在では非推奨とされています。
なぜリンクが開かないのか
javascript:void(0)が表示されてリンクが開かない原因は複数あります。
原因1: JavaScriptが無効になっている
ブラウザの設定でJavaScriptが無効になっていると、JavaScriptのコードが正しく動作しません。
これにより、リンクをクリックしても何も起こらず、「javascript:void(0)」という文字列だけが表示されます。
原因2: キャッシュやCookieの問題
ブラウザのキャッシュやCookieが破損していると、JavaScriptが正常に実行できないことがあります。
古いデータが残っていることで、最新のスクリプトが読み込まれず、エラーが発生するのです。
原因3: 広告ブロッカーやセキュリティソフト
広告ブロッカーやセキュリティソフトが、JavaScriptの実行をブロックしている可能性があります。
特に、ポップアップブロッカーはJavaScriptで制御される要素の動作を妨げることがよくあります。
原因4: ブラウザ拡張機能の干渉
インストールしている拡張機能が、Webサイトのスクリプトと競合している可能性があります。
特定の拡張機能がJavaScriptの実行を妨げることがあるのです。
原因5: 古いブラウザバージョン
使用しているブラウザが古いと、最新のJavaScriptコードに対応できないことがあります。
Webサイト側が新しいJavaScript機能を使っている場合、古いブラウザでは正しく動作しません。
原因6: サイト側のコードの問題
Webサイト側のJavaScriptコードに誤りがあると、正しく動作しません。
onclick イベントハンドラの記述ミスや、JavaScript関数のエラーなどが原因となります。
すぐに試せる解決方法
原因が分かったところで、具体的な解決方法を見ていきましょう。
方法1: ブラウザを再起動する
最も簡単な方法は、ブラウザを一度完全に閉じて、再度開くことです。
一時的なエラーであれば、これだけで解決することが多いです。
- すべてのブラウザウィンドウを閉じる
- ブラウザを再起動
- 問題のサイトにアクセスして確認
方法2: JavaScriptを有効にする
ブラウザの設定でJavaScriptが無効になっている場合は、有効にする必要があります。
Google Chromeの場合
- 画面右上の三点リーダー(⋮)をクリック
- 「設定」を選択
- 左メニューから「プライバシーとセキュリティ」を選択
- 「サイトの設定」をクリック
- 「JavaScript」をクリック
- 「サイトがJavaScriptを使用できるようにする(推奨)」を選択
Microsoft Edgeの場合
- 画面右上の三点リーダー(…)をクリック
- 「設定」を選択
- 左メニューから「Cookie とサイトのアクセス許可」を選択
- 「JavaScript」をクリック
- 「許可(推奨)」をオンにする
Firefoxの場合
Firefoxでは、デフォルトでJavaScriptが有効になっています。
無効にする設定がブラウザの通常設定にはないため、特別な操作をしていなければ問題ありません。
方法3: ページを強制再読み込みする
キャッシュを無視してページを再読み込みすることで、問題が解決する場合があります。
Windows/Linux
Ctrl + F5
Mac
Cmd + Shift + R
このショートカットを押すと、サーバーから最新のデータを取得して表示します。
方法4: キャッシュとCookieをクリアする
ブラウザのキャッシュとCookieをクリアすることで、破損したデータを削除できます。
Google Chromeの場合
- 画面右上の三点リーダー(⋮)をクリック
- 「履歴」→「履歴」を選択
- 左側の「閲覧履歴データの削除」をクリック
- 期間を「全期間」に設定
- 「Cookieと他のサイトデータ」と「キャッシュされた画像とファイル」にチェック
- 「データを削除」をクリック
Microsoft Edgeの場合
- 画面右上の三点リーダー(…)をクリック
- 「履歴」をクリック
- 三点リーダーをクリックして「履歴データをクリア」を選択
- 時間の範囲を「すべての期間」に設定
- 「Cookieおよびその他のサイト データ」と「キャッシュされた画像とファイル」にチェック
- 「今すぐクリア」をクリック
Firefoxの場合
- 画面右上の三本線のメニューをクリック
- 「履歴」→「最近の履歴を消去」を選択
- 消去する履歴の期間を「すべての履歴」に設定
- 「Cookie」と「キャッシュ」にチェック
- 「OK」をクリック
方法5: 拡張機能を無効にする
ブラウザの拡張機能が原因の場合は、一時的に無効にして確認します。
Google Chrome/Microsoft Edgeの場合
- アドレスバーに「chrome://extensions/」(Edgeは「edge://extensions/」)を入力
- インストールされている拡張機能の一覧が表示される
- 各拡張機能のトグルスイッチをオフにする
- ページを再読み込みして確認
問題が解決した場合は、拡張機能を1つずつ有効に戻して原因を特定します。
Firefoxの場合
- 画面右上の三本線のメニューをクリック
- 「アドオンとテーマ」を選択
- 「拡張機能」タブを開く
- 各拡張機能のトグルスイッチをオフにする
- ページを再読み込みして確認
方法6: 別のブラウザで試す
現在使用しているブラウザで解決しない場合は、別のブラウザで試してみましょう。
例えば、Chromeで問題が起きている場合は、EdgeやFirefoxで同じサイトにアクセスしてみます。
別のブラウザで正常に動作する場合は、元のブラウザの設定に問題がある可能性が高いです。
方法7: ブラウザを最新版に更新する
古いバージョンのブラウザを使用している場合は、最新版に更新します。
Google Chromeの場合
- 画面右上の三点リーダー(⋮)をクリック
- 「ヘルプ」→「Google Chrome について」を選択
- 自動的に更新が確認され、必要に応じてダウンロードされる
- 「再起動」ボタンをクリック
Microsoft Edgeの場合
- 画面右上の三点リーダー(…)をクリック
- 「ヘルプとフィードバック」→「Microsoft Edge について」を選択
- 自動的に更新が確認される
- 更新がある場合は「再起動」ボタンをクリック
Firefoxの場合
- 画面右上の三本線のメニューをクリック
- 「ヘルプ」→「Firefoxについて」を選択
- 自動的に更新が確認される
- 更新がある場合は「Firefoxを再起動して更新を完了」をクリック
ブラウザ別の特殊な対処法

各ブラウザには、独自の設定や機能があります。
Internet Explorer / Edgeの互換モード
古い業務システムでは、Internet Explorer専用に設計されていることがあります。
Microsoft Edgeには「IEモード」という機能があり、これを使うと古いサイトを正しく表示できます。
IEモードを有効にする方法
- Edgeの設定を開く
- 「既定のブラウザー」を選択
- 「Internet Explorerの互換性」セクションで「Internet Explorerモードでサイトを再読み込みする」を許可
- 問題のサイトで三点リーダー(…)をクリック
- 「Internet Explorerモードで再読み込み」を選択
Chromeのポップアップ設定
Chromeのポップアップブロッカーが原因の場合は、特定のサイトで許可します。
- 問題のサイトにアクセス
- アドレスバー左側の鍵マークまたは情報アイコンをクリック
- 「このサイトの設定」を選択
- 「ポップアップとリダイレクト」を「許可」に変更
サイト側に問題がある場合
すべての方法を試しても解決しない場合は、Webサイト側に問題がある可能性があります。
判断基準
以下の状況に当てはまる場合は、サイト側の問題です。
- 複数のブラウザで同じ問題が発生する
- 別のパソコンやスマートフォンでも同じエラーが出る
- JavaScriptを有効にしてもエラーが消えない
- キャッシュクリア後も問題が続く
対処方法
サイト側の問題の場合、ユーザーができることは限られています。
- 時間をおいて再度アクセスする
一時的なサーバーエラーの可能性があります。
数時間後や翌日に試してみましょう。 - サイト管理者に連絡する
問い合わせフォームやサポート窓口がある場合は、状況を報告します。
エラーが発生する具体的な手順を伝えると、解決が早くなります。 - ブラウザの開発者ツールで確認する
技術的な知識がある場合は、コンソールでエラーメッセージを確認できます。
F12キーを押すと開発者ツールが開きます。
右クリックで「新しいウィンドウで開く」場合の注意
javascript:void(0)を使ったリンクには、特有の制限があります。
なぜ新しいウィンドウで開けないのか
javascript:void(0)は、ページ遷移をしないためのコードです。
通常のリンク(href=”https://example.com”のような形式)とは異なり、実際のURLが指定されていません。
そのため、右クリックメニューから「新しいウィンドウで開く」や「新しいタブで開く」を選択しても、何も表示されないのです。
正しい使い方
javascript:void(0)を使ったリンクは、通常のクリック(左クリック)で使用する必要があります。
右クリックメニューからは開けないので、サイト設計上の仕様として理解しましょう。
開発者向け: 非推奨の理由と代替方法
javascript:void(0)は現在では非推奨とされています。
非推奨の理由
- アクセシビリティの問題
スクリーンリーダーやキーボード操作で使いにくい - SEOの問題
検索エンジンがリンクを正しく認識できない - セキュリティリスク
XSS(クロスサイトスクリプティング)攻撃のリスクがある - 保守性の低下
コードの可読性が下がり、メンテナンスが難しくなる
推奨される代替方法
方法1: event.preventDefault()を使う
<a href="#" onclick="handleClick(event)">クリック</a>
<script>
function handleClick(event) {
event.preventDefault();
// 実行したい処理
}
</script>
この方法なら、デフォルトの動作を防ぎつつ、クリーンなコードが書けます。
方法2: buttonタグを使う
リンクではなくボタンとして動作させる場合は、buttonタグを使うのが最適です。
<button onclick="handleClick()">クリック</button>
<script>
function handleClick() {
// 実行したい処理
}
</script>
CSSでリンクのような見た目にすることもできます。
よくある質問
javascript:void(0)はウイルスですか?
いいえ、ウイルスではありません。
javascript:void(0)は、正当なJavaScriptコードです。
ただし、スクリプトが正しく動作しないことを示しているため、ブラウザの設定やサイト側のコードに問題がある可能性があります。
JavaScriptを有効にしても解決しません
JavaScript以外の原因が考えられます。
キャッシュのクリア、拡張機能の無効化、ブラウザの更新を順番に試してください。
それでも解決しない場合は、サイト側の問題の可能性が高いです。
特定のサイトだけで発生します
そのサイト独自の設定やコードに問題がある可能性があります。
サイト管理者に問い合わせることをおすすめします。
また、そのサイトが古いブラウザ用に設計されている場合、IEモードなどの互換機能を使うと解決することがあります。
スマートフォンでも同じ問題が起きます
スマートフォンのブラウザでも、基本的な対処法は同じです。
- ブラウザアプリを再起動
- キャッシュとCookieをクリア
- 別のブラウザアプリで試す
スマートフォンの場合、アプリの設定メニューからキャッシュクリアができます。
まとめ
javascript:void(0)が表示されてリンクが開かない問題について解説しました。
主な原因
- JavaScriptが無効になっている
- キャッシュやCookieの破損
- 広告ブロッカーや拡張機能の干渉
- 古いブラウザバージョン
- サイト側のコードの問題
すぐに試せる解決方法
- ブラウザを再起動
- JavaScriptを有効にする
- ページを強制再読み込み(Ctrl+F5)
- キャッシュとCookieをクリア
- 拡張機能を無効にする
- 別のブラウザで試す
- ブラウザを最新版に更新
特殊な対処法
- EdgeのIEモードを使用
- ポップアップ設定を確認
ほとんどの場合、これらの方法で問題は解決します。
すべて試しても解決しない場合は、サイト側に問題がある可能性が高いので、サイト管理者に問い合わせましょう。
また、開発者の方は、javascript:void(0)の使用を避け、event.preventDefault()やbuttonタグなど、より適切な方法を選択することをおすすめします。


コメント