Варіант друку у JsFiddle


200

Як би я надрукував щось на екрані результатів у JsFiddle з мого JavaScript. Я не можу використовувати document.write(), це не дозволяє print.

Що я повинен використовувати?


3
Ознайомтеся з цим прикладом. jsfiddle.net/jadiagaurang/m58Rn
Gaurang Jadia

@GaurangJadia Це зручно, ви повинні додати його як відповідь (єдина проблема - це прийняття console.log()аргументів інакше, ніж ваша спеціальна функція).
IQAndreas

По суті це потреба у console.log () ...
Еван Керролл


Нині jsfiddle дозволяє використовувати document.write ()
Rubén

Відповіді:


499

Щоб мати змогу побачити вихід з console.log()JSFiddle, перейдіть до Зовнішні ресурси на панелі зліва та додайте наступне посилання для Firebug:

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

Приклад результату після додавання firebug-lite-debug.js


10
Казкова відповідь. В основному розділяє вихідну панель на дві області.
Джек

2
Саме те, що я шукав!
Пратюш

44
Я хотів би, щоб JSFiddle це робив за замовчуванням або, принаймні, мав дуже очевидний прапорець, щоб увімкнути це одним клацанням миші.
Лілі Фінлі

5
консоль з’являється лише після першого запуску коду! чудова відповідь btw!
Пітер Пайпер

4
Чи є щось подібне для Chrome? Насправді JSFiddle повинен підтримувати щось подібне поза коробкою, це було б дуже корисно.
Харшай Бурадкар

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());

І для притти друкувати об'єкти ... out (JSON.stringify (myObject, null, 2));
Ендрю Ланк

Зауважте, що це матиме проблеми з нерозміщеними символами '<' або '>', і він також буде перемикатися, коли значення аргументів <визначені>. Це може бути проблемою для вашого випадку використання, але щось, про що слід пам’ятати, замінюючи дзвінки на console.log ().
Стів Холлаш

Удосконалена версія: використовує 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
oliverpool

Якось це мені нічого не показує при спробі в jsfiddle. :(
Сума,

@Suma Хм, може статися помилка JavaScript. Він працює добре на моїй машині, але ви, можливо, використовуєте іншу версію. Спробуйте відкрити консоль налагодження і шукайте помилки (обов'язково натискайте кнопку Виконати у верхньому лівому куті, роблячи це)
IQAndreas

39

Спробуйте:

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

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


2
Ви можете використовувати, document.getElementById('element').innerHTML += [stuff here] + "<br/>";якщо хочете мати кілька рядків і додавати інформацію на сторінку, замість того, щоб просто замінювати стару інформацію.
IQAndreas

27

Ви можете не робити те, що ви робите, але ви можете набрати

console.log(string)

І він надрукує рядок у консолі вашого браузера . У хромованому натисканні CTRL+ SHIFT+, Jщоб відкрити консоль.


3
Або ви можете використовувати CTRL+ SHIFT+, Kякщо ви хочете, щоб консоль була стикована внизу сторінки, а не плавала в окремому вікні.
IQAndreas


7

Тепер jsfiddle може це зробити з нуля. Просто перейдіть до Javascrpt -> Каркаси та розширення -> Jquery (край) і встановіть прапорець Firebug lite


Але я
втрачаю


4

З ES6 трюки могли бути

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

Додати лише

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

в HTML



0

Просто додати щось, що може бути корисним для деяких людей ....

Якщо ви додасте консоль налагодження, як показано вище, ви можете отримати доступ до області, виконавши це:

область = angular.element (document.querySelector ('[ng-controller = MyCtrl]')).

Я вважаю, що перевірити область прямого простіше, ніж console.log, alert () тощо.


у вас є приклад використання, я не дотримуюся.
wide_eyed_pupil

Я поняття не маю, чому я відповів кутовою відповіддю.
Неф

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
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.