ペースト禁止の解除方法を教えて下さい。

パスワードの登録などで、ペーストを禁止しているフォームがあります。
onpaste を使ったり Ctrl+V を禁止したり
onkeydown="if ((event.keyCode == 86 && event.ctrlKey) { return showMessage();}"
など。後者はCtrl+V以外に貼り付けを割り当てれば解決できそうですが。

私はパスワードの管理ソフトで管理しているため、こうした禁止により、手動で入力する羽目になりミスの原因になっています。
Greasemonkeyなどで可能そうという所までは分かったのですが、その先が私の知識では無理そうでした。
JavaScriptを切ると送信できなくなったり、他のトラブルになるためとりあえず副作用の少なそうなonpasteのイベントハンドラを停止できれば良いのですが。
こういった動作を取り除く方法を教えて下さい。

Firefox4.0 Windows7

回答の条件
  • 1人2回まで
  • 13歳以上
  • 登録:2011/03/30 16:40:25
  • 終了:2011/04/01 18:01:50

ベストアンサー

id:Cherenkov No.2

Cherenkov回答回数1502ベストアンサー獲得回数4922011/03/30 19:22:06

ポイント450pt

ペースト禁止にしているサイトのURLを提示すれば早いかと思います。


適当に書いてみました。onpaste,onkeydown属性があるinput要素を見つけて値を消してしまいます。

addEventListenerを使ってイベントリスニングされている場合はわかりません。


paste-enable.user.jsなどで保存してFirefoxにドラッグアンドドロップでインストールしてください。

// ==UserScript==
// @name           paste-enable
// @namespace      http://d.hatena.ne.jp/Cherenkov/
// @include        http*
// ==/UserScript==

var inputs = document.querySelectorAll('input[onpaste],input[onkeydown]');
for(var i = 0, n = inputs.length; i < n; i++) {
  var self = inputs[i];
  if (self.hasAttribute('onpaste')) {
    self.setAttribute('onpaste', 'return;');
  }
  if (self.hasAttribute('onkeydown')) {
    self.setAttribute('onkeydown', 'return;');
  }
}
id:x2pop

そうですよね、すいません。

http://h--c.com/javascript/2009/hc1119_940

このような(コピーできないのは問題ないのですが)、とアドレスを追加しに来たらご回答が。

ありがとうございます!

今、完璧に動作することを確認しました。

とりあえずキー操作に反応しなくなるのは怖いので、onkeydownはカットして使っています。

本当にありがとうございました。

少ないですがポイントお受け取り下さい。

2011/04/01 18:01:14

その他の回答(1件)

id:es-labo No.1

eses回答回数287ベストアンサー獲得回数382011/03/30 17:06:09

ポイント1pt

そのほかの意見、別視点でよろしければの参考資料です。

私の場合、管理ソフトを変更したり、ブラウザの基本機能のパスワード保存などを解除して

利用しています。

手の怪我の折、パスワードの枠にマウスポインター矢印をあわせるのが難しかったため、

マウスではなく、タブレットペンに変え、仕様なども一新?一掃?させました。

https://addons.mozilla.jp/firefox/details/8542

https://addons.mozilla.org/ja/firefox/extensions/privacy-securit...

http://cameme.net/%E4%BE%BF%E5%88%A9%E3%82%BD%E3%83%95%E3%83%88/...

そのほか、それでも強固に認証ができないものは、ブラウザを変更して、

chromeやrockmeltなどに分けています。

おじゃましました。

id:x2pop

情報不足で申し訳ありません。

質問で困っているのは、初期のユーザー登録などの際にパスワードやメールアドレスがコピー&ペーストで入力できないという問題です。

すでに登録したサイトのログインで困ったことはありません。(ログインでコピペ禁止のサイトには遭遇したことが無いので)

LastPassなどにも、ユーザー登録機能は無かったと思うのですが、最近追加されたのでしょうか。

しかし、サイトによって登録画面は全く異なりますし、技術的に対応できるのか疑問があります。

2011/03/30 17:57:43
id:Cherenkov No.2

Cherenkov回答回数1502ベストアンサー獲得回数4922011/03/30 19:22:06ここでベストアンサー

ポイント450pt

ペースト禁止にしているサイトのURLを提示すれば早いかと思います。


適当に書いてみました。onpaste,onkeydown属性があるinput要素を見つけて値を消してしまいます。

addEventListenerを使ってイベントリスニングされている場合はわかりません。


paste-enable.user.jsなどで保存してFirefoxにドラッグアンドドロップでインストールしてください。

// ==UserScript==
// @name           paste-enable
// @namespace      http://d.hatena.ne.jp/Cherenkov/
// @include        http*
// ==/UserScript==

var inputs = document.querySelectorAll('input[onpaste],input[onkeydown]');
for(var i = 0, n = inputs.length; i < n; i++) {
  var self = inputs[i];
  if (self.hasAttribute('onpaste')) {
    self.setAttribute('onpaste', 'return;');
  }
  if (self.hasAttribute('onkeydown')) {
    self.setAttribute('onkeydown', 'return;');
  }
}
id:x2pop

そうですよね、すいません。

http://h--c.com/javascript/2009/hc1119_940

このような(コピーできないのは問題ないのですが)、とアドレスを追加しに来たらご回答が。

ありがとうございます!

今、完璧に動作することを確認しました。

とりあえずキー操作に反応しなくなるのは怖いので、onkeydownはカットして使っています。

本当にありがとうございました。

少ないですがポイントお受け取り下さい。

2011/04/01 18:01:14

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません