如何将这个Javascript实现为Blogger?
问题描述:
请帮帮忙,我无法实现这个JavaScript来我的博客......如何将这个Javascript实现为Blogger?
(function() {
var pre = document.getElementsByTagName('pre'),
pl = pre.length;
for (var i = 0; i < pl; i++) {
pre[i].innerHTML = '<span class="line-number"></span>' + pre[i].innerHTML + '<span class="cl"></span>';
var num = pre[i].innerHTML.split(/\n/).length;
for (var j = 0; j < num; j++) {
var line_num = pre[i].getElementsByTagName('span')[0];
line_num.innerHTML += '<span>' + (j + 1) + '</span>';
}
}
})();
你可以看到此Javascript在这里工作精细:http://jsfiddle.net/tovic/AbpRD/1/
答
如果您看到的是以下类型的错误,当你尝试在你的主题代码添加这个JavaScript片段 -
错误解析XML:元素的内容必须包含合式的字符数据或标记。
然后解决此错误,请使用以下方法 -
裹的代码在script
标签CDATA
指令中。该代码将看起来像 -
<script>
//<![CDATA[
(function() {
var pre = document.getElementsByTagName('pre'),
pl = pre.length;
for (var i = 0; i < pl; i++) {
pre[i].innerHTML = '<span class="line-number"></span>' + pre[i].innerHTML + '<span class="cl"></span>';
var num = pre[i].innerHTML.split(/\n/).length;
for (var j = 0; j < num; j++) {
var line_num = pre[i].getElementsByTagName('span')[0];
line_num.innerHTML += '<span>' + (j + 1) + '</span>';
}
}
})();
//]]>
</script>
这种方法是了解,Blogger XML解析器将忽略CDATA
指令中的任何数据的布局标签(例如像<data:blog.homepageUrl/>
)唯一的缺点。它不会用它们的实际价值取代它们,它不会解释它们并按原样显示它们。
2.逃生在代码以下字符 -
“替换为& QUOT;
&被替换为&安培;
< 替换为& LT;
>替换为& gt;
逃脱后,代码应该看起来像 -
<script>
(function() {
var pre = document.getElementsByTagName('pre'),
pl = pre.length;
for (var i = 0; i & lt; pl; i++) {
pre[i].innerHTML = '<span class="line-number"></span>' + pre[i].innerHTML + '<span class="cl"></span>';
var num = pre[i].innerHTML.split(/\n/).length;
for (var j = 0; j & lt; num; j++) {
var line_num = pre[i].getElementsByTagName('span')[0];
line_num.innerHTML += '<span>' + (j + 1) + '</span>';
}
}
})();
</script>
数据布局标签下面这种方法时仍然起作用。记住不逃生<>
周围的数据布局标签(又名<data:blog.homepageUrl/>
工作,但不<data:blog.homepageUrl/>
)
如果没有数据布局标签必须包含在JavaScript。然后,您可以通过布局选项卡将其添加到HTML/JavaScript小工具中,而不是直接将其包含在主题代码中。
你不能?你有什么问题? – Picard
[我如何在Blogger中添加JavaScript?](http://*.com/questions/6449733/how-can-i-add-javascript-inside-blogger) – Lucky