พิมพ์ Var ใน JsFiddle


200

ฉันจะพิมพ์บางสิ่งไปยังหน้าจอผลลัพธ์ใน JsFiddle ได้จาก JavaScript ของฉัน ฉันไม่สามารถใช้มันไม่ได้ช่วยให้มันไม่document.write()print

ฉันควรใช้อะไร


3
ลองดูตัวอย่างนี้ jsfiddle.net/jadiagaurang/m58Rn
Gaurang Jadia

@GaurangJadia มีประโยชน์คุณควรเพิ่มเป็นคำตอบ (ปัญหาเดียวคือconsole.log()ยอมรับอาร์กิวเมนต์ที่แตกต่างจากฟังก์ชั่นที่คุณกำหนดเอง)
IQAndreas

นี่เป็นสิ่งจำเป็นสำหรับ console.log () ...
Evan Carroll

1
เป็นไปได้ที่ซ้ำกันของวิธีการรับคอนโซลภายใน jsfiddle
Evan Carroll

ปัจจุบัน jsfiddle อนุญาตให้ใช้ document.write ()
Rubén

คำตอบ:


499

เพื่อให้สามารถดูผลลัพธ์จากconsole.log()ใน JSFiddle ไปที่ทรัพยากรภายนอกบนแผงด้านซ้ายและเพิ่มลิงค์ต่อไปนี้สำหรับ Firebug:

https://getfirebug.com/firebug-lite-debug.js

ตัวอย่างของผลลัพธ์หลังจากเพิ่ม firebug-lite-debug.js


10
คำตอบที่ยอดเยี่ยม โดยทั่วไปจะแยกบานหน้าต่างเอาต์พุตเป็นสองบานหน้าต่าง
แจ็ค

2
สิ่งที่ฉันกำลังมองหา!
Pratyush

44
ฉันหวังว่า JSFiddle จะทำเช่นนี้โดยค่าเริ่มต้นหรืออย่างน้อยก็มีช่องทำเครื่องหมายที่ชัดเจนมากเพื่อเปิดใช้งานได้ด้วยคลิกเดียว
Lily Finley

5
คอนโซลจะปรากฏขึ้นหลังจากคุณเรียกใช้รหัสเป็นครั้งแรก! คำตอบที่ดี btw!
Peter Piper

4
มีอะไรเช่นนี้สำหรับ Chrome หรือไม่ จริงๆแล้ว JSFiddle ควรสนับสนุนบางอย่างเช่นนี้นอกกรอบมันจะค่อนข้างมีประโยชน์
Harshay Buradkar

67

ฉันมีแม่แบบเพื่อการนี้ ; นี่คือรหัสที่ฉันใช้:

HTML

<pre id="output"></pre>

JavaScript

function out()
{
    var args = Array.prototype.slice.call(arguments, 0);
    document.getElementById('output').innerHTML += args.join(" ") + "\n";
}

ตัวอย่างการใช้งาน (JavaScript)

out("Hello world!");
out("Your lottery numbers are:", Math.random(), 999, Math.PI);
out("Today is", new Date());

และเพื่อวัตถุพิมพ์ pritty ... ออก (JSON.stringify (myObject, null, 2));
Andrew Lank

โปรดทราบว่าสิ่งนี้จะมีปัญหากับอักขระ '<' หรือ '>' ที่ไม่ใช้ค่า Escape และมันจะ barf เมื่อค่าอาร์กิวเมนต์เป็น <undefined> นี่อาจไม่ใช่ปัญหาสำหรับกรณีการใช้งานของคุณ แต่มีบางสิ่งที่ต้องระวังเมื่อเปลี่ยนการเรียกไปที่ console.log ()
Steve Hollasch

รุ่นที่ปรับปรุง: ใช้innerTextแทนinnerHTMLและส่งบันทึกไปยังคอนโซลเดิมเช่น: function newLog(oldLog) { return function() { var args = Array.prototype.slice.call(arguments, 0); document.getElementById('console-log').innerText += args.join(" ") + "\n"; oldLog.apply(this, args) } } console.log = newLog(console.log) console.error = newLog(console.error) ตัวอย่าง
JSFiddle

ยังไงก็เถอะสิ่งนี้ไม่แสดงให้ฉันเห็นเลยเมื่อฉันลอง jsfiddle :(
Suma

@Suma หืมอาจมีข้อผิดพลาดของ JavaScript มันทำงานได้ดีบนเครื่องของฉัน แต่คุณอาจใช้เวอร์ชั่นอื่น ลองเปิดคอนโซลการดีบักและค้นหาข้อผิดพลาด (อย่าลืมกดปุ่มRunที่มุมบนซ้ายเมื่อทำเช่นนั้น)
IQAndreas

39

ลอง:

document.getElementById('element').innerHTML = ...;

Fiddle: http://jsfiddle.net/HKhw8/


2
คุณสามารถใช้document.getElementById('element').innerHTML += [stuff here] + "<br/>";หากคุณต้องการมีหลายบรรทัดและเพิ่มข้อมูลลงในหน้าแทนที่จะแค่แทนที่ข้อมูลเก่า
IQAndreas

27

อาจไม่ทำสิ่งที่คุณทำ แต่คุณสามารถพิมพ์

console.log(string)

และมันจะพิมพ์สตริงลงในคอนโซลของคุณเบราว์เซอร์ ใน chrome กดCTRL+ SHIFT+ Jเพื่อเปิดคอนโซล


3
หรือคุณสามารถใช้CTRL+ SHIFT+ Kหากคุณต้องการเชื่อมต่อคอนโซลที่ด้านล่างของหน้าแทนที่จะลอยไปรอบ ๆ ในหน้าต่างแยกต่างหาก
IQAndreas


7

ตอนนี้ jsfiddle สามารถทำได้ตั้งแต่เริ่มต้น เพียงไปที่ Javascrpt -> กรอบงานและส่วนขยาย -> Jquery (edge) และทำเครื่องหมายที่ช่องทำเครื่องหมาย Firebug lite


แต่ฉันหลวมไวยากรณ์เน้นด้วยนี้ :(
Chintan Pathak

5

document.body.innerHTML = "ข้อมูลของคุณ";


ยังดีกว่าทำ + = เพื่อผนวก document.body.innerHTML += "Your data" + "<br/>"; document.body.innerHTML += "Even more data" + "<br/>";
นั่น

4

ด้วยเทคนิค ES6 อาจจะเป็น

function say(...args)
{ 
    document.querySelector('#out').innerHTML += args.join("</br>");
}
say("hi","john");

เพิ่มเท่านั้น

 <span id="out"></span>

ใน HTML



0

เพียงเพิ่มสิ่งที่อาจเป็นประโยชน์กับบางคน ....

หากคุณเพิ่มคอนโซลดีบักเกอร์ดังแสดงด้านบนคุณสามารถเข้าถึงขอบเขตได้โดยดำเนินการดังนี้

scope = angular.element (document.querySelector ('[ng-controller = MyCtrl]')) scope ();

ฉันพบว่าการตรวจสอบขอบเขตโดยตรงง่ายกว่า console.log, alert () และอื่น ๆ


คุณมีตัวอย่างการใช้งานรึเปล่า
wide_eyed_pupil

ฉันไม่รู้ว่าทำไมฉันตอบด้วยคำตอบเชิงมุมฉันคิดว่าผิด
Neph

0

หากคุณใช้ JSfiddle คุณสามารถใช้ห้องสมุดนี้: https://github.com/IonicaBizau/console.js

เพิ่ม rawgit ของ lib ลงในทรัพยากร jsfiddle ของคุณ: https://cdn.rawgit.com/IonicaBizau/console.js/0ee8fcc4ea802247c5a7a8e3c6530ede8ade308b/lib/console.min.js

จากนั้นคุณสามารถเพิ่มได้ใน HTML:
<pre class="console"></pre>

เริ่มต้นคอนโซลใน JS ของคุณ:
ConsoleJS.init({selector: "pre.console"});

ตัวอย่างการใช้งาน: ดูบนjsfiddle

ConsoleJS.init({selector: "pre.console"});

let b;

console.log('hello world');
console.log([{'a':10,'b':44}]);
console.log(typeof [1,2,3,4]);
console.log(50 +67);
console.log(b);

-4

ใช้alert()ฟังก์ชั่น:

alert(variable name);
alert("Hello World");

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