ฉันจะปิดการใช้งานป๊อปอัป / การแจ้งเตือน javascript ใน Chrome ได้อย่างไร


20

ขออภัยถ้ามันถูกถาม ฉันพบวิธีแก้ไขปัญหาหลายอย่างที่ไม่ทำงานแล้ว ไม่แน่ใจว่าฉันทำอะไรผิด

ฉันไม่ต้องการที่จะปิดการใช้งานจาวาสคริปต์ทั้งหมดเพียงกล่องแจ้งเตือนจาวาสคริปต์ รายการที่ปรากฏขึ้นและบังคับให้คุณคลิกตกลงหรือ X เพื่อปิด

ฉันพบสคริปต์ผู้ใช้ที่อ้างว่าทำสิ่งนี้ (ตัวอย่าง: http://userscripts.org/scripts/show/58252 ) ฉันใส่ Chrome ลงในช่อง dev แล้วเริ่ม chrome ด้วยสวิตช์ --enable-user-สคริปต์สคริปต์จะแสดงขึ้นเมื่อติดตั้ง

แต่ฉันยังคงได้รับกล่องเตือน

กล่องการแจ้งเตือนตัวอย่างที่ไม่ได้รับการปิดใช้งานอยู่ที่http://wordswithfriends.net/ - ใส่คำขยะลงในตัวตรวจสอบคำที่แถบด้านข้างขวา คุณได้รับป๊อปอัพบอกคุณว่ามันไม่ใช่คำ

คำตอบ:


17

วิธีเดียวที่จะปิดการใช้งานกล่องเตือนคือการติดตั้งส่วนขยายหรือ userscript userscript ที่คุณเชื่อมโยงนั้นใช้สำหรับ Greasemonkey Firefox และจะไม่ทำงานบน Chrome

นอกจากนี้หน้าเว็บที่ทำงานผิดปกติที่คุณอ้างถึงนั้นมีลักษณะลับๆล่อๆและเรียกใช้คำว่า "ตัวตรวจสอบความถูกต้องของคำว่า" ในiframeรหัสที่เปิดalert()ใช้งานการโหลด iframe ทันที

แต่นี่คือ userscript ที่เอาชนะได้:

// ==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);
}

หากคุณต้องการปิดการใช้งาน ALL alerts()ในทุกหน้า (ไม่แนะนำ) ให้ลบ// @matchบรรทัดนั้น


7
ฉันยอมรับคำตอบนี้เพื่อให้หนูระเบิดได้ยาก ทำงานเหมือนจับใจ ขอบคุณมาก ๆ ^^
CreeDorofl

ยินดีต้อนรับคุณ! ดีใจที่ได้ช่วยเหลือ
Brock Adams

ทำไมไม่แนะนำให้ปิดการใช้งานการแจ้งเตือนทั้งหมด? ฉันไม่เคยเจอการแจ้งเตือนที่มีประโยชน์ยกเว้น "คุณต้องการออกจากแท็บนี้" ในหน้าความคืบหน้าที่ยังไม่ได้บันทึก
Coretek

ไม่ทำงานหากหน้าเว็บแสดงการแจ้งเตือนระหว่างการโหลด
riv

@riv เปิดคำถามใหม่ถ้าคุณมีกรณีที่มันไม่ทำงาน ให้แน่ใจว่าได้จัดทำสูตรที่สมบูรณ์สำหรับการทำซ้ำปัญหา
Brock Adams

2

มีอย่างน้อยหนึ่งส่วนขยายสำหรับว่าในChrome เว็บสโตร์ ใช้งานได้สำหรับฉันแม้ว่าจะฟังดูเป็นที่สงสัยว่ามีตัวเลือกสนับสนุนโดยโหมดโฆษณาที่คุณสามารถปิดการใช้งานในหน้าการตั้งค่า (ฉันไม่พบการตั้งค่า แต่คิดว่ามันไม่ทำให้การกำหนดเส้นทางเป็นโมฆะapi.s13.us)


0

หากคุณกำลังมองหาเครื่องมือสำหรับการนี้และไม่ต้องการที่จะยุ่งกับสคริปต์ผู้ใช้ - มีเครื่องมือที่ดีที่สามารถจัดการกับป๊อปอัพที่น่ารำคาญใด ๆ บนระบบ Windows - ClickOff คุณสามารถดาวน์โหลดได้จากที่นี่ ฉันตรวจสอบแล้วมันทำงานได้กับการแจ้งเตือน "การเปลี่ยนแปลงที่คุณทำอาจไม่ถูกบันทึก" สำหรับไซต์ SharePoint


ฟังดูน่าสนใจเนื่องจากป๊อปอัปข้อผิดพลาดที่น่ารำคาญน่าจะดีที่จะลบโดยทั่วไป มันช่วยให้คุณระบุประเภทของกล่องโต้ตอบที่คุณต้องการตกลง / ยกเลิกโดยอัตโนมัติหรือไม่หรือเลือกอย่างใดอย่างหนึ่งด้วยตัวเอง
CreeDorofl

ใช่คุณสามารถระบุว่ากล่องโต้ตอบใดที่จะปิดและปุ่มที่จะคลิก
Serhiy
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.