We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
1 parent 4797307 commit 2a4a74fCopy full SHA for 2a4a74f
6 files changed
demo/debugger.js
@@ -12,6 +12,8 @@ var tests = {
12
"test-s":"tests/kanpai.xml",
13
"test-ac-1":{"f":'tests/ACFun.json',"p":"acfun"},
14
"test-ac-2":{"f":'tests/ac940133.json',"p":"acfun"},
15
+ "test-ts-1":"tests/invalid/no_closing.xml",
16
+ "test-ts-2":"tests/invalid/syntax_error.xml"
17
};
18
19
var debugs = {
demo/index.htm
@@ -45,7 +45,7 @@ <h2>Tests</h2>
45
</div>
46
<h2>Extended</h2>
47
<div>
48
- <a id="test-7" class="button" href="javascript:;">Run Test 7 (WIP)</a>
+ <a id="test-7" class="button" href="javascript:;">Run Test 7</a>
49
<a id="test-8" class="button" href="javascript:;">Run Test 8</a>
50
<a id="test-9" class="button" href="javascript:;">Run Test 9</a>
51
<a id="test-s" class="button" href="javascript:;">Run Test Scripting</a>
@@ -57,6 +57,10 @@ <h3>AcFun (Experimental)</h3>
57
<a id="test-ac-2" class="button" href="javascript:;">Run Test 2</a>
58
<div style="clear:both;"></div>
59
60
+ <p>TagSoup: <br>
61
+ <a id="test-ts-1" href="javascript:;">Tag Soup 1</a>,
62
+ <a id="test-ts-2" href="javascript:;">Tag Soup 2</a>
63
+ </p>
64
<p>Filters: <br>
65
<a onclick="cm.filter.setRuntimeFilter(fefx.center_dim);" href="javascript:;">Apply Center-Transparency</a><br>
66
<a onclick="cm.filter.setRuntimeFilter(fefx.center_speedup);" href="javascript:;">Apply Center-Speedup</a><br>
demo/libxml.js
@@ -22,9 +22,9 @@ function CommentLoader(url,xcm,mode){
22
var f = new ActiveXObject("Microsoft.XMLDOM");
23
f.async = false;
24
f.loadXML(xmlhttp.responseText);
25
- cm.load(BilibiliParser(f));
+ cm.load(BilibiliParser(f, xmlhttp.responseText));
26
}else{
27
- cm.load(BilibiliParser(xmlhttp.responseXML));
+ cm.load(BilibiliParser(xmlhttp.responseXML, xmlHTTP.responseText));
28
}
29
}else if(mode == 'acfun'){
30
cm.load(AcfunParser(xmlhttp.responseText));
src/parsers/BilibiliFormat.js
@@ -1,10 +1,9 @@
1
/**
2
Bilibili Format
3
Licensed Under MIT License
4
- Takes in an XMLDoc and parses that into a Generic Comment List
+ Takes in an XMLDoc/LooseXMLDoc and parses that into a Generic Comment List
5
**/
6
-function BilibiliParser(xmlDoc){
7
- //Parse into Array
+function BilibiliParser(xmlDoc, text){
8
function fillRGB(string){
9
while(string.length < 6){
10
string = "0" + string;
@@ -16,8 +15,13 @@ function BilibiliParser(xmlDoc){
function format(string){
return string.replace(/\t/,"\\t");
-
20
- var elems = xmlDoc.getElementsByTagName('d');
+ if(xmlDoc !== null){
+ var elems = xmlDoc.getElementsByTagName('d');
+ }else{
21
+ var tmp = document.createElement("div");
+ tmp.innerHTML = text;
+ var elems = tmp.getElementsByTagName('d');
+ }
var tlist = [];
for(var i=0;i<elems.length;i++){
if(elems[i].getAttribute('p') != null){
tests/invalid/no_closing.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?><i>
+<chatserver>chat.bilibili.tv</chatserver>
+<chatid>91236</chatid>
+<source>k-v</source>
+<d p="0,1,25,16777215,1296965347,0,c4c06db0,14089276">[1]-。-</d>
+<d p="1000,1,25,16777215,1296965353,0,c4c06db0,14089285">[2]路过</d>
+<d p="2000,1,25,16777215,1296965413,0,c4c06db0,14089404">[3]说真的原曲好听很多</d>
+<d p="3000,1,25,16777215,1299993365,0,Dea1a7cd,18515460">[4]音响坏了?
+<d p="4000,1,25,16777215,1309012585,0,D75a006c,32875515">[5]喜欢这个啊</d>
+<d p="5000,1,25,16777215,1310784225,0,D31ffff4,36898041">[6]= =</d>
11
+<d p="6000,1,25,16777215,1310784237,0,D31ffff4,36898069">[7]G_<</d>
+</i>
tests/invalid/syntax_error.xml
+<d p="3000,1,25,16777215,1299993365,0,Dea1a7cd,18515460"[4]音响坏了?</d>
0 commit comments