以下の文はDBRX-Instructに作成してもらいました。
tampermonkeyが必要になります。
Perplexity.ai Composition Events について
この記事では、Perplexity.ai Composition Events という UserScript について解説します。この UserScript は、日本語入力中に Enter キーを押下しても検索クエリが送信されないようにするものです。
Perplexity.ai Composition Events とは
Perplexity.ai Composition Events は、日本語入力中に Enter キーを押下しても検索クエリが送信されないようにする UserScript です。この UserScript は、labs.perplexity.ai の Web サイトで使用することを想定しています。
labs.erplexity.ai は、機械学習モデルの開発や評価を行うためのプラットフォームです。labs.Perplexity.ai では、様々な言語でのテキスト入力が可能ですが、日本語入力中に Enter キーを押下すると、意図せずに検索クエリが送信されてしまうことがあります。この UserScript は、この問題を解決するために作成されました。
Perplexity.ai Composition Events の機能
Perplexity.ai Composition Events は、日本語入力中に Enter キーを押下しても検索クエリが送信されないようにする機能を提供します。この機能は、以下のように動作します。
- 日本語入力開始時に
compositionstart
イベントを監視し、isComposing
変数をtrue
に設定します。 - 日本語入力終了時に
compositionend
イベントを監視し、isComposing
変数をfalse
に設定します。 - キーダウンイベントを監視し、
isComposing
変数がtrue
の場合に Enter キーが押下されても検索クエリが送信されないようにします。
Perplexity.ai Composition Events の利用方法
Perplexity.ai Composition Events を利用するには、以下の手順に従ってください。
- Tampermonkey などの UserScript 管理拡張機能をインストールします。
- Perplexity.ai Composition Events の UserScript を Tampermonkey に追加します。
- labs.perplexity.ai の Web サイトにアクセスし、日本語入力を開始します。
- 日本語入力中に Enter キーを押下しても検索クエリが送信されないことを確認します。
Perplexity.ai Composition Events のソースコード
Perplexity.ai Composition Events のソースコードは、以下の通りです。
// ==UserScript==
// @name Perplexity.ai Composition Events
// @namespace http://tampermonkey.net/
// @version 1.0
// @description Prevent Enter key from submitting search query during Japanese input on labs.perplexity.ai
// @match https://labs.perplexity.ai/
// @grant none
// ==/UserScript==
(function() {
'use strict';
var input_element = document.querySelector("textarea");
var isComposing = false;
// 日本語入力開始
input_element.addEventListener('compositionstart', function(){
isComposing = true;
});
// 日本語入力終了
input_element.addEventListener('compositionend', function(){
isComposing = false;
});
// 修正後のhandleIMEEnter関数
function handleIMEEnter(event) {
if (event.code == "Enter" && isComposing) {
event.stopPropagation();
}
}
// handleIMEEnter関数をキーダウンイベントのリスナーとして登録
input_element.addEventListener('keydown', handleIMEEnter);
})();
まとめ
Perplexity.ai Composition Events は、日本語入力中に Enter キーを押下しても検索クエリが送信されないようにする UserScript です。この UserScript は、Perplexity.ai の Web サイトで使用することを想定しています。この UserScript は、日本語入力中に Enter キーを押下しても検索クエリが送信されないようにする機能を提供します。この UserScript を利用することで、日本語入力中に意図しない検索クエリの送信を防ぐことができます。
Spacial Thanks: masachika.kmd