自動操作しない場合でも、デバッグの時は、alertを出し、本番環境では、ログ出力。みたいなことをしたいことがあります。んーあんまりないか。console.log使うもんね。
ということで、強制的にalertやconfirmを何とかする方法ないかな。と思って調べてみると、alertやconfirmを上書き(オーバライド?)する方法がありました。
実装は↓のような感じ。以下は、chromeのconsoleで実行しているけど、htmlに入れれば、そのまま実現できる
window.confirm = (text) => { console.log(text); return true; }
常に「はい」ボタンを押した状態と同じになっちゃいますが、自動運転中に入力不要になりいい感じ。ちなみに、alertも同じように、window.alert = function(text){}でOK。
で、chromeのconsoleで確認してみると、↓みたいになっている。
//chromeのconsoleで↓を入力
> window.confirm
//こんなのが表示された。edgeでは表示されなかった。。。
ƒ (text) {
recordedConfirmation = text
if (document.body.hasAttribute('setConfirm')) {
document.body.removeAttribute('setConfirm')
return nextConfirmationResult
} else {
l…
よくわからないけど、prompt.jsというソースにたどり着き、中身が見れる。
プラグインがいろいろ入っているからかもしれないけどね。
0 件のコメント:
コメントを投稿