リンクをクリックしたのにページが開かず、画面の左下やアドレス欄に「javascript:void(0)」と出る。仕事中に管理画面へ入ろうとした時、予約サイトのボタンを押した時、社内システムの申請ボタンが反応しない時にこれが出ると、かなり焦りますよね。
結論から言うと、javascript:void(0)自体はエラー名ではありません。JavaScriptというブラウザ上で動くプログラムを使って、クリック時に別の処理を実行するための書き方です。MDNでは、void演算子は式を評価したうえでundefinedを返すものと説明されています。つまり、リンク先URLとして直接ページを開くのではなく、クリック後の処理をJavaScriptに任せている状態です。
だから、開かない原因は「javascript:void(0)が悪い」というより、クリック後に動くはずのJavaScriptが止まっている、邪魔されている、古いデータを読んでいる、サイト側で不具合が起きている、という見方をしたほうが早いです。
javascript:void(0)が出ても慌てなくていい理由

クリックしたリンクの左下に「javascript:void(0)」と出ると、ウイルスっぽく見えるかもしれません。英語と記号が並んでいるだけで、急に触ってはいけないものに見えますよね。
javascript:void(0)はリンク先ではなくクリック処理を止めるための記述
普通のリンクなら、クリックするとURLへ移動します。一方で「javascript:void(0)」は、クリックしてもその文字列自体のページへ移動しません。void(0)はundefined、つまり「戻り値なし」のような結果を返すため、ページ遷移を起こさない目的で使われます。
実務で見ると、古い会員サイト、社内システム、ECサイトのカートボタン、予約フォーム、金融系の管理画面などでまだ出会うことがあります。見た目はリンクでも、実際にはJavaScriptで別処理を走らせる作りになっているわけです。
「開かない」はサイト側とブラウザ側の両方で起きる
javascript:void(0)で開かない時、原因は自分のPCだけとは限りません。サイト側のJavaScriptファイルが壊れている、メンテナンス中、古いブラウザに対応していない、社内ネットワークで一部の通信が止められている、といったケースもあります。
ロロメディア編集部でも、クライアントの管理画面で「保存」ボタンを押しても反応せず、左下にjavascript:void(0)だけ出たことがあります。原因はChromeの拡張機能でした。広告ブロック系の拡張機能が管理画面のスクリプトを止めていて、シークレットウィンドウで開いたらすぐ動きました。
javascript:void(0)で開かない時に最初に試すこと

いきなり設定画面を深く触る前に、まずは簡単な確認からやりましょう。ここを飛ばすと、原因が一時的な読み込み不具合なのに、無駄に設定を変えてしまいます。
急ぎの業務中にボタンが反応しないと、「ブラウザが壊れた?」と感じますよね。でも、実際にはページの読み込み直しだけで戻ることもあります。
ページを再読み込みして別タブでも開いてみる
まず、ページを再読み込みします。WindowsならCtrlキーを押しながらR、またはF5です。少し強めに読み込み直すなら、CtrlキーとF5キーを押します。これはキャッシュを使わずに再取得する操作に近く、古いデータが原因の時に効くことがあります。
それでも動かない場合は、同じページを別タブで開き直してください。ログイン後の管理画面なら、一度ログアウトして入り直すのも有効です。セッションというログイン状態の情報が古くなって、ボタン操作だけ失敗している場合があります。
ここで改善するなら、深刻な問題ではありません。逆に、何度開き直しても同じなら、ブラウザ設定やサイト側の処理を疑います。
右クリックで新しいタブを開いても意味がない場合がある
javascript:void(0)のリンクを右クリックして「新しいタブで開く」を押しても、何も起きないことがあります。これは正常です。もともと移動先URLではなく、クリック処理を起動するためのリンクだからです。
普通のリンクなら新しいタブで開けますが、JavaScriptで動くボタンはそうはいきません。無理に新しいタブで開こうとしても、空白ページや同じ画面が出るだけのことがあります。
Chromeでjavascript:void(0)が開かない時の確認ポイント

Chromeで開かない時は、まずJavaScriptが許可されているか確認します。Google公式ヘルプでも、Chromeでは設定からサイトのJavaScript使用を許可する方法が案内されています。
ChromeでJavaScriptが許可されているか確認する
操作の前に、まず状況を想像してください。昨日まで動いていた社内システムの申請ボタンが、今日だけ反応しない。提出期限が迫っているのに、押しても画面が変わらない。こういう時は、焦って何度もクリックするより、JavaScript許可を見たほうが早いです。
Chromeでは、右上のメニューから設定を開きます。次に「プライバシーとセキュリティ」へ進み、「サイトの設定」を開きます。その中の「JavaScript」で、「サイトがJavaScriptを使用できるようにする」が選ばれているか確認してください。
ChromeのキャッシュとCookieを削除する
JavaScriptが有効でも開かない場合は、キャッシュとCookieを削除します。キャッシュとは、画像やスクリプトなどを一時保存して表示を速くする仕組みです。Cookieは、ログイン状態やサイト設定を保存する小さなデータです。
Google公式ヘルプでは、Chromeの右上メニューから閲覧履歴データを削除し、期間や削除対象を選ぶ手順が案内されています。実務では、まず対象サイトだけのCookie削除が理想ですが、急ぎなら「キャッシュされた画像とファイル」を削除して再読み込みするだけでも改善することがあります。
ただし、Cookieを消すとログアウトされます。業務システムで二段階認証が必要な場合、再ログインに時間がかかるかもしれません。削除前に、ID、パスワード、認証アプリが使える状態か確認しておきましょう。
Chromeの拡張機能を一時停止する
Chromeで一番見落としやすいのが拡張機能です。広告ブロック、セキュリティ補助、翻訳、パスワード管理、スクリーンショット系の拡張機能が、サイトのJavaScriptに干渉することがあります。
確認するなら、シークレットウィンドウで開くのが早いです。多くの拡張機能はシークレットウィンドウでは無効になっているため、そこで動けば拡張機能が原因の可能性が高まります。
動いた場合は、通常画面に戻り、拡張機能を一つずつオフにして原因を探します。全部を一気に消す必要はありません。特に広告ブロック系、スクリプト制御系、セキュリティ系から止めると切り分けやすいです。
Edgeでjavascript:void(0)が開かない時の確認ポイント

Microsoft Edgeでも、原因の見方はChromeとほぼ同じです。EdgeはChromeと同じChromium系ブラウザなので、JavaScript、Cookie、キャッシュ、拡張機能の影響を受けます。
EdgeでJavaScriptの許可設定を確認する
Edgeでボタンが反応しない時も、まずJavaScript設定を確認します。Microsoft Learnでは、EdgeのポリシーとしてJavaScriptを許可またはブロックできる設定が説明されています。通常はサイトでJavaScriptを実行できますが、会社管理端末では制限されることがあります。
Edgeでは、右上のメニューから設定を開きます。「Cookieとサイトのアクセス許可」へ進み、「JavaScript」を探してください。そこで許可になっているか確認します。
特定サイトだけブロックされている場合もあります。社内システムや銀行系サイトなど、動かないサイトが決まっているなら、そのサイトがブロック一覧に入っていないか見てください。
Edgeの追跡防止やセキュリティ設定を見直す
Edgeには追跡防止機能があります。追跡防止とは、Webサイトをまたいだ行動追跡を減らす機能です。便利な反面、サイトによってはログインやボタン操作に必要な処理まで影響を受けることがあります。
特定のサイトだけ開かない場合は、そのサイトで追跡防止を一時的に緩めるか、例外設定を検討します。ただし、金融機関や重要な業務サイトでは、むやみにセキュリティを下げるのではなく、公式推奨環境を確認したほうが安全です。
会社PCの場合、設定がグレーアウトして変更できないことがあります。この場合は自分で無理に直そうとせず、情報システム部門に「javascript:void(0)のリンクが動かない」「EdgeのJavaScript設定が変更不可」と伝えましょう。原因の切り分けが早くなります。
Edgeでも拡張機能を疑う
Edgeにも拡張機能があります。Chromeほど入れていないつもりでも、PDF、翻訳、広告ブロック、セキュリティ関連が入っていることがあります。
Edgeで確認する時は、InPrivateウィンドウを使います。InPrivateとは、閲覧履歴などを残しにくいプライベート閲覧モードです。ここで対象サイトを開いてボタンが動くなら、通常モードの拡張機能や保存データが原因の可能性があります。
それでも動かないなら、ChromeやFirefoxなど別ブラウザでも確認します。複数ブラウザで同じなら、サイト側やネットワーク側の問題が濃くなります。
javascript:void(0)が出る主な原因

ここで原因を整理します。やみくもに設定を触るより、原因ごとに確認したほうが早いです。
仕事で申請ボタンを押せない時、予約フォームで次へ進めない時、ECサイトの購入ボタンが動かない時。どれも「クリックできない」という症状は同じですが、原因は違います。
JavaScriptが無効になっている
最も基本的な原因は、JavaScriptが無効になっていることです。JavaScriptとは、Webページ上で動きや表示を変えるためのプログラムです。これが止まると、ボタン、メニュー、フォーム、ポップアップが動かなくなることがあります。
Chromeでは「サイトがJavaScriptを使用できるようにする」を有効にします。EdgeでもJavaScriptが許可されているか確認してください。
この設定が原因なら、許可後にページを再読み込みすれば動くことがあります。変更したのに動かない場合は、ブラウザを完全に閉じて開き直すと反映されることもあります。
キャッシュが古いJavaScriptを読み込んでいる
サイトが更新されたのに、ブラウザが古いJavaScriptファイルを読み込んでいると、ボタンが反応しないことがあります。特にログイン画面や管理画面の更新直後に起きやすいです。
制作現場では、これがかなり厄介です。サイト側は修正済みなのに、ユーザーのブラウザには古いファイルが残っていて、クリック処理だけ失敗します。
Cookieやログイン状態が壊れている
ログインが必要なサイトでは、Cookieが壊れているとボタン操作が失敗することがあります。見た目はログイン中でも、内部的にはセッションが切れているような状態です。
この場合、ログアウトして再ログインするだけで直ることがあります。ログアウトできない場合は、対象サイトのCookieを削除してから入り直します。
拡張機能がクリック処理を止めている
広告ブロックやセキュリティ系の拡張機能は、サイト上のスクリプトを止めることがあります。悪い処理を防ぐための機能が、必要な処理まで止めてしまうイメージです。
たとえば、予約サイトのカレンダー、ECサイトの購入ボタン、問い合わせフォームの確認画面などはJavaScriptに依存していることがあります。拡張機能が一部のスクリプトをブロックすると、画面は表示されても操作だけできない状態になります。
シークレットウィンドウやInPrivateで動くなら、拡張機能を疑ってください。原因の拡張機能を特定できたら、そのサイトだけ許可するか、一時停止して使います。
ポップアップブロックで別画面が開かない
クリック後に別ウィンドウや小さな画面を開く作りのサイトでは、ポップアップブロックが原因になることがあります。ポップアップとは、クリック時に別画面や別ウィンドウを表示する仕組みです。
社内システムや古い予約サイトでは、明細画面、印刷画面、PDF表示、申請確認画面をポップアップで開くことがあります。ブラウザがこれを止めると、クリックしても何も起きないように見えます。
アドレスバー右側にブロック通知が出ていないか確認してください。対象サイトだけポップアップを許可すれば、次回から開くようになることがあります。
スマホでjavascript:void(0)が開かない時の対処法

スマホでもjavascript:void(0)が出ることがあります。特に古いサイト、会員ページ、自治体サイト、予約ページ、管理画面などで起きやすいです。
スマホの場合、PCより確認できる項目が少ないぶん、アプリ再起動、別ブラウザ、キャッシュ削除、PC表示への切り替えが中心になります。
iPhoneではSafariとChromeの両方で試す
iPhoneで開かない場合は、SafariとChromeの両方で試してください。Safariでは動かないけれどChromeでは動く、またはその逆があります。
特にサイト側がPC向けに作られている場合、スマホ表示でJavaScriptの動作が崩れることがあります。ブラウザの共有メニューや表示設定から「デスクトップ用Webサイトを表示」を試すと、ボタンが動くケースがあります。
それでもだめなら、スマホではなくPCから開くのが早いです。重要な申請や決済なら、無理にスマホで進めず、PCで操作したほうが安全でしょう。
AndroidではChromeのキャッシュ削除を試す
Androidでは、Chromeアプリのキャッシュを削除できます。設定アプリから「アプリ」へ進み、Chromeを選んでストレージのキャッシュを削除します。
ただし、サイトごとのログイン情報やCookieまで消す場合は注意してください。ログアウトされることがあります。急ぎの決済や申請中なら、途中データが消えないよう、先に画面を閉じても大丈夫か確認しましょう。
Androidでも、別ブラウザで試すのは有効です。Chromeで開かないサイトがEdgeやFirefoxで動くことがあります。ブラウザ差分を見るだけで、自分の端末設定が原因か、サイト側が原因かを切り分けやすくなります。
サイト側に問題がある時の見分け方

ロロメディア編集部でも、Chrome、Edge、スマホで全部試して開かず、最終的にサイト側のJavaScriptエラーだったことがあります。ユーザー側でできることには限界があります。
複数ブラウザで同じならサイト側の可能性が高い
Chrome、Edge、スマホのブラウザで試しても同じなら、サイト側の不具合の可能性が高まります。特に同じボタンだけ反応しない場合は、そのボタンに紐づくJavaScript処理が壊れているかもしれません。
この場合、問い合わせ先があるなら状況を具体的に伝えてください。「開きません」だけでは調査しづらいです。
伝える内容は、次のようにまとめると実務で通じやすいです。
| 伝える項目 | 例 |
|---|---|
| 利用ブラウザ | Chrome、Edgeなど |
| 端末 | Windows11、iPhoneなど |
| 発生画面 | ログイン後の申請画面 |
| 押したボタン | 確認へ進む、保存、購入など |
| 表示された文字 | javascript:void(0) |
| 試したこと | 再読み込み、別ブラウザ、キャッシュ削除 |
ここまで書くと、サイト運営側が再現確認しやすくなります。業務システムなら、スクリーンショットも添えるとさらに早いです。
サイトの推奨ブラウザを確認する
古いシステムでは、推奨ブラウザが限られていることがあります。Edgeでは動くがChromeでは一部動かない、逆にChrome推奨で他ブラウザでは崩れる、というケースです。
特に行政系、学校系、企業の古い管理画面では、推奨環境がページ下部やヘルプに書かれていることがあります。そこを見ずに最新ブラウザだけで試していると、原因がわからないまま止まります。
開発者やサイト運営者が確認すべきポイント

ここまでは利用者向けの話でした。もしあなたがサイト運営側、制作担当、社内システム担当なら、javascript:void(0)が出るリンクはユーザーを迷わせる原因になります。
ユーザーは「ボタンが壊れた」と感じます。実際にはJavaScriptイベントが失敗しているだけでも、画面上では何も起きないからです。
hrefにjavascript:void(0)だけを書く設計は避ける
サイト制作では、aタグのhrefにjavascript:void(0)だけを書く設計は避けたほうが安全です。リンクなのにリンク先がなく、JavaScriptが失敗すると何も起きなくなるためです。
ボタンならbutton要素を使い、リンクなら実際のURLを入れる。これが基本です。JavaScriptで補助する場合でも、動かなかった時に最低限の遷移や説明が残る設計にしたほうがユーザーに親切です。
コンソールエラーとクリックイベントを確認する
制作側なら、ブラウザの開発者ツールでコンソールエラーを確認します。コンソールとは、JavaScriptのエラーや警告を確認できる開発者向け画面です。
ChromeやEdgeでは、F12キーを押して開発者ツールを開き、Consoleタブを見ます。クリック時に赤いエラーが出るなら、そのJavaScriptが止まっている可能性があります。
また、クリックイベントが二重に設定されていないか、外部スクリプトの読み込みに失敗していないか、CSPというセキュリティ設定で止められていないかも確認します。CSPはContent Security Policyの略で、読み込めるスクリプトの範囲を制限する仕組みです。
急ぎで開きたい時の実務的な回避策

今すぐ開きたい時は、根本原因の調査より先に、使えるルートを探したほうが早いです。申請期限、決済、予約、顧客対応の途中ならなおさらです。
焦って同じボタンを連打しても、状態が悪化することがあります。フォーム送信系では二重送信になる可能性もあるので、落ち着いて別ルートに切り替えましょう。
別ブラウザと別端末をすぐ試す
最短で確認するなら、ChromeでだめならEdge、EdgeでだめならChrome、それでもだめならスマホまたは別PCで試します。これで開けば、元のブラウザ設定が原因です。
仕事中なら、同僚のPCで同じ画面が開くか確認するのも早いです。同僚の環境で動くなら、自分のブラウザ設定、拡張機能、キャッシュが原因に絞れます。
問い合わせや電話で代替手段を確認する
予約、決済、申請などでどうしても進まない場合は、サイト運営者へ問い合わせます。電話窓口があるなら、「ボタンを押すとjavascript:void(0)と表示されて進めない」と具体的に伝えましょう。
この言い方なら、相手も状況を理解しやすいです。単に「サイトが開かない」と言うより、問題の場所が明確になります。
まとめ

javascript:void(0)が出て開かない時は、その文字自体がエラーというより、クリック後に動くはずのJavaScript処理が止まっている状態と考えるとわかりやすいです。まずは再読み込み、別タブ、別ブラウザ、シークレットウィンドウで確認してください。
ChromeではJavaScriptの許可設定、キャッシュとCookie、拡張機能を確認します。EdgeでもJavaScript許可、追跡防止、拡張機能、InPrivateウィンドウを見てください。複数ブラウザで同じなら、サイト側の不具合や推奨環境の問題も疑います。
急ぎの場合は、原因調査にこだわりすぎず、別ブラウザ、別端末、問い合わせ窓口へ切り替えましょう。特に申請、予約、決済、業務システムでは、同じボタンを何度も押すより、状況を具体的に伝えて代替手段を確認するほうが早いです。
参考記事















