chrome 扩展,显示不兼容浏览器的内容

  公司的mantis系统使用的时候,用户提交的文件列表为HTML内嵌的XML,但是公司二次开发mantis的时候,html中的js代码只针对ie平台对xml进行解析,导致chrome无法正常显列表。最近刚学会做chrome扩展,所有做了一个扩展把无法显示的内容显示出来。

 

这个扩展只做2个动作

1、解析html源代码中的XML文件

 1 function loadSvnPostList ()

 2 {

 3     try

 4     {

 5         var xf = document.getElementById("xmlFile")

 6         var doc = (new DOMParser()).parseFromString(xf.innerHTML, "text/xml")

 7         var lstitem = doc.getElementsByTagName("pathlist");

 8         for (var i = 0; i < lstitem.length; ++i)

 9         {

10             var item = lstitem[i];

11             var arg1=item.getAttribute("index");

12             var arg2=item.getAttribute("submiter");

13             

14             var arg3=item.getAttribute("datetime");

15             var arg4=item.getAttribute("path");

16             var arg5=item.getAttribute("version");

17             var arg6=item.getAttribute("comment");

18             //alert(arg6)

19             addTable(arg1,arg2,arg3,arg4,arg5,arg6)

20         }

21     }

22     catch(e)

23     {

24         //alert(e.message);

25     }

26 }

 

2、将解析出来的内容添加到表格中

 1 function addTable(arg1,arg2,arg3,arg4,arg5,arg6) {

 2     var table = document.getElementById("PathGrid");

 3     //table.style="word-break:break-all; word-wrap:break-word";

 4     var row = table.insertRow(table.rows.length-1);

 5     var cell1 = row.insertCell(0);

 6     var cell2 = row.insertCell(1);

 7     var cell3 = row.insertCell(2);

 8     var cell4 = row.insertCell(3);//path

 9     var cell5 = row.insertCell(4);

10     var cell6 = row.insertCell(5);

11     var cell7 = row.insertCell(6);

12     var cell8 = row.insertCell(7);

13     //拆分文件路径

14     var listPath = arg4.split(/[; ]+/i);

15     var sPathWithBr=""

16     for (var i = 0; i < listPath.length; i++) {

17         sPathWithBr+=listPath[i]+"<br/>";

18     };

19 

20     cell1.innerHTML = arg1;

21     cell2.innerHTML = arg2;

22     cell3.innerHTML = arg3;

23     cell4.style.wordWrap="break-word";

24     cell4.innerHTML = sPathWithBr;//path

25     cell5.innerHTML = arg5;//version

26     cell6.innerHTML = arg6;

27 

28     var sWebSVNUrl = "http://这里是IP地址/websvn/revision.php" ;

29     sWebSVNUrl += "?repname="+ listPath[0] + "&isdir=1&rev=" + arg5 + "&peg="+ arg5;

30     var sViewRepos = "<a href=\"" + sWebSVNUrl +  "\" target=\"_blank\" >查看 </a>";

31     var sDelButton = "<a href=\"javascript:void(0);\" onclick ='DelPathNew(this);'>删除</a>";

32     cell7.innerHTML = sViewRepos ;

33     cell8.innerHTML = sDelButton;

34 }

 

这样,就可以将因为兼容性而无法显示的内容显示出来了。

 

你可能感兴趣的:(chrome)