Lightning Blog
Blazor記事イメージ画像

【Blazor】 JavaScriptを呼び出し方

更新日:2023/07/19
Blazorでは、基本的にHTML,CSS,C#を使って、WEB開発をすることができますが、 JavaScriptを使わなければならない時が多々あります。 そんなときの対処方法について解説します。

    目次

  • JavaScriptを呼び出すには?
  • 実行して確認する

JavaScriptを呼び出すには?

セクション画像

JavaScriptを呼び出すには、まずIJSRuntimeというサービスを挿入する必要があります。 IJSRuntimeは、BlazorでC#コードとJavaScriptコードをやり取りするためのインターフェースです。 例として、IJSRuntimeを使用してJavaScriptのアラートを呼び出すプログラムを書いていきます。


@page "/"
@inject IJSRuntime JSRuntime

<h3>IJSRuntime Sample</h3>

<button @onclick="ShowAlert">Show Alert</button>

@code {
    private async Task ShowAlert()
    {
        await JSRuntime.InvokeVoidAsync("alert", "JavaScript呼び出し");
    }
}

ボタンのクリックイベントにShowAlertメソッドを割り当て、 そのメソッド内でJavaScriptを呼び出す処理を書いています。 IJSRuntime.InvokeVoidAsyncメソッドを使用して JavaScriptのalert関数を実行します。 第1引数には呼び出すメソッド名、第2引数にはメソッドに渡す引数を指定します。 こうすることで、ボタンがクリックされた際に、アラートが表示されます。


実行して確認する

セクション画像

先ほど作成したプログラムを実行して確認してみましょう。 アラートが表示されているのが、確認できます。

実行結果
実行結果

JavaScriptをなるべく使わない方が良いですが、現状Blazorでは全く使わないのは難しいです。 この記事の内容を覚えておくと便利かもしれません。


ブログ内の記事で書かれているサンプルコードは、GitHubから確認する事ができます。 是非参考にしてみてください。

この本では、Blazorの基本から高度なテクニックまで、実際のプロジェクトに役立つ知識を網羅しています。 初心者から経験者まで、Blazorを扱うすべての開発者にとっての必読書です。 この記事の執筆者も参考にした「Blazor入門」で、あなたのBlazorスキルを飛躍的に向上させませんか?

合わせて読みたい

カード画像
@をエスケープする方法

Blazorにおいて、@記号は予約文字として扱われるため、文字列として表示する際にはエスケープが必要です。@をエスケープして表示するためには、@を2回連続して書くことで実現できます。この技術は、一般的なケースではあまり使用されないかもしれませんが、知っておくと便利な場面もあるでしょう。

更新日:2023/07/20

カード画像
gzip形式でデータを圧縮する方法

Blazorでのgzip形式によるデータ圧縮方法を解説。データの圧縮により通信速度の向上や読み込み時間の短縮が期待でき、SEOやUX向上にも寄与。Blazorアプリ側とサーバー側の設定が必要で、特に通信速度や圧縮サイズを優先するか選択可能。Webサーバー設定も取り上げ、Nginxの例を示す。

更新日:2023/09/03

An error has occurred. This application may no longer respond until reloaded. Reload 🗙