Firefox เว็บคอนโซลปิดใช้งานหรือไม่


131

ทำไมฉันถึงได้รับข้อความนี้จาก Firefox Web Console

API การบันทึกเว็บคอนโซล (console.log, console.info, console.warn, console.error) ถูกปิดใช้งานโดยสคริปต์บนเพจนี้

หน้าเว็บเดียวกันสามารถพิมพ์ข้อความใน Chrome Console ได้ แต่ใช้ไม่ได้กับ Firefox ฉันเปิดหน้าเว็บเดียวกันใน Firefox ของคอมพิวเตอร์เครื่องอื่น (ไม่รู้ว่าเวอร์ชันอะไร) เว็บคอนโซลสามารถพิมพ์ข้อความได้ เวอร์ชัน Firefox ของฉันเป็นเวอร์ชันล่าสุด 8.0


2
ค้นหารหัสของคุณสำหรับfirebugและconsoleและให้แน่ใจว่าพวกเขาจะไม่ได้กำหนดให้null, undefinedหรือfalse
เซท

1
บางทีปลั๊กอิน noscript กำลังทำเช่นนั้น! เพียงแค่ตรวจสอบ
UnLoCo

คำตอบ:


160

เหตุการณ์นี้เกิดขึ้นเมื่อหน้าเว็บกำหนดตัวแปรส่วนกลางที่เรียกว่าconsoleตัวอย่างเช่น หากหน้าเว็บเป็นเบราว์เซอร์เพื่อตัดสินใจว่าจะกำหนดหรือไม่พฤติกรรมอาจแตกต่างกันไปในเบราว์เซอร์ต่างๆ

ในกรณีของ Firefox ก็ยังเกิดขึ้นเมื่อมีการติดตั้ง Firebug window.consoleและคอนโซลถูกเปิดใช้งานตั้งแต่ที่แทนที่ค่าเริ่มต้น


75
@yeeen คุณติดตั้ง Firebug แล้วหรือยัง? มันยังแทนที่window.consoleด้วยคอนโซลของมันเอง ...
Boris Zbarsky

1
ใช่ฉัน hv Firebug ดังนั้นฉันจะใช้คอนโซลของ Firebug ได้อย่างไรหรือฉันควรทำอย่างไร? แต่ทำไมเครื่องอื่น tt ถึงติดตั้ง Firefox กับ Firebug แล้วไม่มีปัญหา?
yeeen

5
@yeeen คุณสามารถเปิด Firebug และใช้คอนโซลได้ใช่ หรือคุณสามารถปิดใช้งาน Firebug ได้หากคุณไม่ต้องการให้มันจี้คอนโซล ส่วนอีกเครื่อง .... มันเปิดแผง Console ใน Firebug หรือเปล่า?
Boris Zbarsky

ฉันเห็น ... เครื่องอื่นไม่เปิดใช้งานแผงคอนโซล hv เครื่องของฉันมี ... ไม่น่าแปลกใจเลย
yeeen

4
@BorisZbarsky ประโยค Firebug เกือบจะเป็นคำตอบในตัวเอง คุณสามารถรวมไว้ในคำตอบที่เหมาะสมได้หรือไม่?
Barney

30

ฉันมีข้อความแสดงข้อผิดพลาดเหมือนกันและเมื่อฉันลบ firebug มันก็หายไป

ฉันไม่ได้บอกว่าคุณควรลบ firebug ฉันชอบ firebug แต่นั่นอาจเป็นสาเหตุของข้อผิดพลาดสำหรับคุณเช่นกัน อีกข้อสังเกตข้อผิดพลาดยังคงอยู่แม้ว่า firebug จะถูกปิด (ปิดใช้งาน) สำหรับหน้านั้น ๆ


8
ดูเหมือนว่าเพียงพอแล้วที่จะดึงเมนูบริบทจากแท็บ "คอนโซล" ของ Firebug ยกเลิกการเลือกช่องทำเครื่องหมาย "เปิดใช้งาน" และโหลดหน้านี้ซ้ำ
Jonas Berlin

@ ไมค์ฉันรู้สึกประทับใจกับเครื่องมือของนักพัฒนา FF มากขึ้นเรื่อย ๆ และฉันแทบรอไม่ไหวที่จะลองใช้ WebIDE และ App Manager มีชุด dev ของฉันเข้ามาในวันนี้สำหรับ Firefox OS
Costa

1
นอกเหนือจากการปิดใช้งาน firebug แล้วอย่าลืมกด "Clear Activation List" จากเมนูแบบเลื่อนลงของตัวเลือก firebug วิธีนี้จะล้างรหัส firebug ทั้งหมดในหน้าของคุณ ตอนนี้ใช้ ctrl + shift + k เพื่อเปิดคอนโซล Firefox ที่แสดงบันทึกคอนโซลของคุณ
Clain Dsilva

2

นี่คือวิธีแก้ปัญหา JavaScript ที่ฉันใช้เพื่อกู้คืนคอนโซล API หลังจากที่ตั้งค่าเป็นฟังก์ชันว่างโดยสคริปต์บนหน้า (ทำงานใน Firefox 46, ทดสอบใน Firebug และในสคริปต์ greasemonkey):

function restoreConsole() {
    var i = document.createElement('iframe');
    i.style.display = 'none';
    document.body.appendChild(i);
    window.console = i.contentWindow.console;
    i.parentNode.removeChild(i);
}

ข้อมูลเพิ่มเติมและข้อมูลรับรอง: การกู้คืน console.log ()


1

คลิกขวาที่แท็บคอนโซล firebug และยกเลิกการเลือกตัวเลือก "เปิดใช้งาน" (อันแรก)

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