HTML isTrustedイベントプロパティとは?使い方とサンプルコードを解説
HTMLのisTrustedイベントプロパティは、発生したイベントが「信頼された(trusted)」ものかどうかを示す真偽値(Boolean)を返します。つまり、そのイベントがユーザーによる本物の操作から生まれたものか、それともスクリプトによって生成されたものかを判別できます。
ポイント: イベントがJavaScriptなどのスクリプトから呼び出された場合は isTrusted は false を返し、ユーザーのクリックや入力といった実際の操作によって発生した場合は true を返します。
この性質を利用すると、ボットやスクリプトによる不正な自動クリックを検知し、ログイン処理などを保護することが可能です。以下に、isTrustedイベントプロパティの具体的な使用例を紹介します。
サンプルコード
<!DOCTYPE html>
<html>
<head>
<title>HTML isTrusted</title>
<style>
form {
width:70%;
margin: 0 auto;
text-align: center;
}
* {
padding: 2px;
margin:5px;
}
input[type="button"] {
border-radius: 10px;
}
</style>
</head>
<body>
<form>
<fieldset>
<legend>HTML-isTrusted-attribute</legend>
<input type="email" id="emailSelect" placeholder="eg: xyz@abc.com">
<input type="password" id="passWordSelect">
<input id="loginbtn" type="button" value="Login" onclick="login(event)">
<div id="divDisplay">Attempt to login will take place in 2 seconds</div>
</fieldset>
</form>
<script>
var emailSelect = document.getElementById("emailSelect");
var passWordSelect = document.getElementById("passWordSelect");
var loginbtn = document.getElementById("loginbtn");
var divDisplay = document.getElementById("divDisplay");
setTimeout(function() {
emailSelect.value="paulaStanford@MNC.com";
passWordSelect.value="hellopaula";
loginbtn.click();
}, 2000);
function login(event) {
if(event.isTrusted)
divDisplay.textContent = 'Welcome '+emailSelect.value.split("@")[0];
else
divDisplay.textContent = 'Unauthorized attempt to login from a script';
}
</script>
</body>
</html>
このサンプルでは、ページ読み込みから2秒後にスクリプトが自動的にメールアドレスとパスワードを入力し、「Login」ボタンのクリックをシミュレートします。login()関数内では event.isTrusted の値を判定し、trueならウェルカムメッセージを、falseならスクリプトによる不正なログイン試行として警告メッセージを表示します。
実行結果
上記のコードを実行すると、次のような画面が表示されます。
1) 何も操作していない初期状態の場合 −

2) スクリプトによって「Login」ボタンが自動的にクリックされた場合 −

3) ユーザー自身が「Login」ボタンをクリックした場合 −

isTrustedプロパティの主な活用シーン
isTrustedプロパティは、次のような場面で特に役立ちます。
- 不正な自動操作の防止: マクロやボットによるスクリプト経由のクリックを検出し、重要な処理(ログイン・決済など)をブロックできます。
- セキュリティ強化: 悪意あるスクリプトが合成イベント(synthetic event)を使ってUIを不正に操作することを防ぎます。
- デバッグとテスト: 開発時に、イベントが実際のユーザー操作由来かどうかを確認するのに便利です。
なお、isTrustedは読み取り専用プロパティのため、コード側で値を書き換えることはできません。これにより、信頼性の高いイベント判定が保証されています。
-
HTML DOM TouchEventのtouchesプロパティとは?使い方とサンプルコードを解説
TouchEvent touchesプロパティとはHTML DOMのTouchEventにおけるtouchesプロパティは、タッチ面(タッチスクリーンなど)上で発生したすべての接触ポイント(コンタクトポイント)のリストに対応するTouchListオブジェクトを返します。注意:指定されたノード、またはその子ノード上でタッチが発生した場合、その後に続くタッチ操作は、同じノード上で発生していなくてもカウント対象になります。構文TouchListオブジェクトを取得するための構文は以下の通りです。event.touches補足:本記事のタッチイベントのサンプルコードは、モバイル端末やタッチ操作対応デバイ
-
HTML DOM Event typeプロパティとは?イベントの種類を取得する方法を実例付きで解説
HTML DOM Event typeプロパティとはHTML DOMのEvent typeプロパティは、発生したイベントの種類に対応する文字列を返すプロパティです。「click」「keypress」「load」「touchend」など、さまざまなイベントタイプを取得できます。構文イベントの種類を文字列として取得するには、以下のように記述します。event.typeそれでは、Event typeプロパティの具体的な使用例を見ていきましょう。使用例以下のサンプルでは、赤い円形の要素に対して「クリック」または「タッチ」が行われた際に、event.typeでイベントの種類を判定しています。イベントの種