alert()やconfirm()を回避する
alert()で出てきたOKボタンとかキャンセルボタンってjavascriptで取得できるんですかね…?

JSからクリックしたい
僕も昨日それ思ってた

ブラウザ固有の物なので無理では

おそらくできないし、てきたらもはや警告windowの意味をなさない

ユーザへ警告を出さずに、ありとあらゆる危険な操作を勝手にできてしまうことになる
開発者コンソールでalert()やconfirm()を上書きすると回避できるというworkaround
jsconst originalConfirm = window.confirm;
window.confirm = (nope) => { return true; }
ん?てことはこれを使えばScrapboxページの自動削除が可能に……?
邪悪なハックだ。。。

なんでこんな地雷言語がweb programmingの第一線で使われ続けているんだ
よくわからないけど
constみたいに上書きできないようにはなってないんだろうか?

JavaScriptの仕様としてwindowオブジェクトがGlobal Scopeという物があって、オブジェクトの中身は普通書き換え可能なので(つらい)
Object.freezeを適用したら凍結はできるけど、多分やるとグローバルスコープを書き換える前提になっているものが軒並み死ぬ
windowを凍らせたら変数とか関数とか何も登録できなくなりそう

これが原因やな

デフォルトが「編集可能」「書き込み可能」になっている
Object.defineProperty(window, "confirm", {value: _confirm, writable:false, configurable:false})
で見た目ロックしたみたいにはできますね
confirmを常にtrue出すように上書きしてもconfirmダイアログが(ちゃんと表示されて)falseを返す
事前に var _confirm = window.confirm
をやってます
ただ、この後Object.definePropertyをもう一回実行されると突破されますね笑
対抗するには Object
への参照を吹き飛ばす他ない