ChromeでJavaScriptのポップアップ/アラートを無効にするにはどうすればよいですか?


20

質問されたら申し訳ありません。動作しないいくつかのソリューションを既に見つけました。何が間違っているのかわかりません。

すべてのJavaScriptを無効にするのではなく、Javascriptアラートボックスのみを無効にします。ポップアップして、[OK]または[X]をクリックしてそれらを閉じることを強制するもの。

これを行うと主張するユーザースクリプトを見つけました(例:http : //userscripts.org/scripts/show/58252)。開発チャネルにchromeを配置し、-enable-user-scriptsスイッチを使用してchromeを起動すると、スクリプトがインストール済みとして表示されます。

しかし、私はまだ警告ボックスを取得します。

無効にならないアラートボックスの例は、http: //wordswithfriends.net/にあります。右側のサイドバーのワードバリデータに不要な単語を入力します。単語ではないことを知らせるポップアップが表示されます。

回答:


17

警告ボックスを無効にする唯一の方法は、拡張機能またはユーザースクリプトをインストールすることです。リンクしたユーザースクリプトはFirefox Greasemonkey用であり、Chromeでは機能しません。

さらに、引用した不正なページは卑劣で、iframeのリロード時にすぐに起動iframeするコードでその「ワードバリデータ」を実行しますalert()

しかし、これを打ち負かすユーザースクリプトは次のとおりです。

// ==UserScript==
// @name        Wordswithfriends, Block javascript alerts
// @match       http://wordswithfriends.net/*
// @run-at      document-start
// ==/UserScript==

addJS_Node (null, null, overrideSelectNativeJS_Functions);

function overrideSelectNativeJS_Functions () {
    window.alert = function alert (message) {
        console.log (message);
    }
}

function addJS_Node (text, s_URL, funcToRun) {
    var D                                   = document;
    var scriptNode                          = D.createElement ('script');
    scriptNode.type                         = "text/javascript";
    if (text)       scriptNode.textContent  = text;
    if (s_URL)      scriptNode.src          = s_URL;
    if (funcToRun)  scriptNode.textContent  = '(' + funcToRun.toString() + ')()';

    var targ = D.getElementsByTagName ('head')[0] || D.body || D.documentElement;
    targ.appendChild (scriptNode);
}

alerts()すべてのページでALL を無効にしたい場合(推奨されません)、その// @match行を削除します。


7
私はマウスが爆発するほど激しくこの答えを受け入れました。魔法のように機能します。ありがとうございました^^
CreeDorofl

どういたしまして!喜んでお手伝いします。
ブロックアダムス

すべてのアラートを無効にすることが推奨されないのはなぜですか?未保存の進行状況ページで「このタブを本当に終了しますか」以外の有用なアラートに出くわしたことはありません。
Coretek

ロード中にページにアラートが表示されている場合は機能しません。
RIV

@riv、うまくいかない場合は新しい質問を開いてください。問題を再現するための完全なレシピを必ず提供してください。
ブロックアダムス


0

このためのツールを探していて、ユーザースクリプトを台無しにしたくない場合は、Windowsシステム上の迷惑なポップアップを処理できる便利なツールClickOffがあります。こちらからダウンロードできます。私がチェックしたのは、SharePointサイトの「行った変更が保存されない可能性がある」という警告で動作することです。


面倒なエラーポップアップは一般的に削除するのがよいので、これは面白そうです。自動的にOK /キャンセルするダイアログの種類を正確に指定できますか、それとも何らかの方法でそれを選択しますか?
クリードロフロ

はい、閉じるダイアログとクリックするボタンを指定できます。
-Serhiy
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.