【发布时间】:2016-08-31 16:47:08
【问题描述】:
我正在使用highlight.js 来显示我从pubnub 订阅收到的一些JSON。它正在为文本着色,但没有按预期添加换行符(通过their demos)。此外,文档中的几个地方给人的印象是库生成了新行。请参阅useBR 选项here。
这是我当前的代码(我尝试了几种不同的方法):
pubnub.subscribe({
channel : 'TEST',
message : function(m){
console.log(m);
var hlt = hljs.highlight('json',m);
$('#jsonOutput').html("<pre>" + hlt.value + "</pre>");
}
});
这是 DOM 的样子:
但这里是输出:
如何获得换行符?我希望它看起来像这样:
{
"id":"TESTWIDGET1",
"value":371,
"timestamp":"2016-08-31T11:39:57.8733485-05:00"
}
【问题讨论】:
-
spans默认情况下是内联元素。如果你想要换行符,你需要通过添加
或使用块级元素来添加它们。 -
可以创建stacksn-ps或者jsfiddle来演示吗?
-
可能 highlight.js 不负责添加换行符(只是语法突出显示)并且 pubnub 不返回带有换行符的 json。您可能必须自己解析并添加换行符。
-
@Andrew 想法不错,但 API 中的一些引用让我相信情况并非如此:highlightjs.readthedocs.io/en/latest/api.html#fixmarkup-value
-
是的,但它只会替换原始 json 字符串中的制表符。一会儿看看我的回答
标签: pubnub javascript jquery json pubnub highlightjs