【问题标题】:Print Var in JsFiddle在 JsFiddle 中打印 Var
【发布时间】:2013-06-27 06:13:48
【问题描述】:

我如何从我的 JavaScript 中在 JsFiddle 的结果屏幕上打印一些东西。我不能使用document.write(),它不允许,print也不允许。

我应该使用什么?

【问题讨论】:

  • 看看这个例子。 jsfiddle.net/jadiagaurang/m58Rn
  • @GaurangJadia 这很方便,您应该将其添加为答案(唯一的问题是console.log() 接受的参数与您的自定义函数不同)。
  • 这本质上是需要console.log() ...
  • 现在的 jsfiddle 允许使用 document.write()

标签: javascript jsfiddle


【解决方案1】:

要在 JSFiddle 中查看来自 console.log() 的输出,请转到左侧面板上的 External Resources 并为 Firebug 添加以下链接:

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

【讨论】:

  • 绝妙的答案。基本上将输出窗格分成两个窗格。
  • 正是我想要的!
  • 我希望 JSFiddle 默认会这样做,或者至少有一个非常明显的复选框可以一键启用它。
  • 只有在您第一次运行代码后才会显示控制台!顺便说一句,答案很好!
  • Chrome 有这样的东西吗?实际上 JSFiddle 应该支持这样的开箱即用的东西,这会很有帮助。
【解决方案2】:

I have a template for this purpose;这是我使用的代码:

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 example
  • 在尝试使用 jsfiddle 时,这对我来说毫无意义。 :(
  • @Suma 嗯,可能有 JavaScript 错误。它在我的机器上运行良好,但您可能使用的是不同的版本。尝试打开调试控制台并查找错误(这样做时请确保点击左上角的运行按钮)
【解决方案3】:

试试:

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

小提琴:http://jsfiddle.net/HKhw8/

【讨论】:

  • 如果你想要多行并添加信息到页面,你可以使用document.getElementById('element').innerHTML += [stuff here] + "&lt;br/&gt;";,而不是仅仅替换旧的信息。
【解决方案4】:

可能不会做你做的事,但你可以输入

console.log(string)

它会将字符串打印到您的浏览器的控制台中。在 chrome 中按 CTRL + SHIFT + J 打开控制台。

【讨论】:

  • 如果您希望控制台停靠在页面底部,而不是在单独的窗口中浮动,您可以使用CTRL+SHIFT+K
【解决方案5】:

你可以这样做---&gt;http://jsfiddle.net/chY5y/

$('body').append(yourVariable); 

【讨论】:

  • Hhmmm,不起作用...我如何打印出简单的文本和变量
【解决方案6】:

现在 jsfiddle 可以从头开始。只需转到 Javascrpt --> Frameworks & extensions --> Jquery(edge) 并检查 Firebug lite 复选框

【讨论】:

  • 但是我用这个松散了语法高亮:(
【解决方案7】:

document.body.innerHTML = "你的数据";

【讨论】:

  • 更好的是,做一个 += 追加。即:document.body.innerHTML += "Your data" + "&lt;br/&gt;"; document.body.innerHTML += "Even more data" + "&lt;br/&gt;";
【解决方案8】:

使用 ES6 技巧可能是

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

只添加

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

在 HTML 中

【讨论】:

    【解决方案9】:

    这是另一种选择:http://jsfiddle.net/skibulk/erh7m9og/1/

    document.write = function (str) {
        document.body.insertAdjacentHTML("beforeend", str);
    }
    
    document.write("¡hola mundo");
    

    【讨论】:

      【解决方案10】:

      只是添加一些可能对某些人有用的东西......

      如果你添加了如上图所示的调试器控制台,你可以通过执行这个来访问作用域:

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

      我发现直接检查范围比 console.log、alert() 等更容易。

      【讨论】:

      • 你有例子用法吗,我就不跟了。
      • 我不知道为什么我用 Angular 回答,我猜是错误的线程。
      【解决方案11】:

      如果你使用 JSfiddle,你可以使用这个库:https://github.com/IonicaBizau/console.js

      将 lib 的 rawgit 添加到您的 jsfiddle 资源中: https://cdn.rawgit.com/IonicaBizau/console.js/0ee8fcc4ea802247c5a7a8e3c6530ede8ade308b/lib/console.min.js

      然后你可以在 HTML 中添加这个:
      &lt;pre class="console"&gt;&lt;/pre&gt;

      在您的 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);
      

      【讨论】:

        【解决方案12】:

        使用alert()函数:

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

        【讨论】:

        • alert 从来都不是一个好的调试工具——不显示对象、中断代码行为等
        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2017-03-11
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多