マウスでの右クリックやテキスト選択を防ぐ方法をすでに探していました。Discourse にはそれがありますが、他の方法もいくつか試しましたが、まだ理想的な方法が見つかっていません。そのため、コードを探しています。そして、この方法を見つけました。
CSS に追加
body * {
-webkit-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
}
button, .menu-item {
pointer-events: auto !important;
}
そして、head に JavaScript を追加
<script type="text/discourse-plugin" version="0.8">
if (settings.prevent_right_click) {
document.addEventListener('contextmenu', function(e) {
e.preventDefault(); // 右クリックの動作をキャンセル
// アラートが表示されるかどうかを確認
if (settings.alert_enabled) {
alert(settings.alert_message);
} else {
// テキスト選択の防止が有効かどうかを確認
if (settings.prevent_text_selection) {
}
}
});
}
</script>
フォーラムで試してみました。ユーザーレベルでは異常は見つかりませんでした。しかし、他に悪影響がないかまだ確信が持てません。
テストのために、テーマコンポーネントを作成しました。
もし私の方法が間違っているか、より良い方法を知っているなら、教えてください。
