doumu1873
doumu1873
2019-08-02 12:45
浏览 105
已采纳

当我们在另一个ul标签内有ul标签时,如何修复html2pdf中的错误?

I'm generating a pdf using the library HTML2PDF, and I'm facing an issue when I have a 'ul' tag inside another 'ul' tag. Did anyone have a solution for this bug?

The error is Warning: count(): Parameter must be an array or an object that implements Countable. After debugging I found that it's related to having a ul tag inside another ul.

 <ul style="margin-top: 0in;" type="disc">
     <li class="MsoNormal" style="mso-list: l0 level1 lfo1;">text</li> 
     <li class="MsoNormal" style="mso-list: l0 level1 lfo1;">text3 </li> 
     <li class="MsoNormal" style="mso-list: l0 level1 lfo1;">text2 bis</li>
     <li class="MsoNormal" style="mso-list: l0 level1 lfo1;"> text1 bis</li>
     <ul style="margin-top: 0in;" type="circle">
         <li class="MsoNormal" style="mso-list: l0 level2 lfo1;">text2</li>
         <li class="MsoNormal" style="mso-list: l0 level2 lfo1;">text1</li>
     </ul>
 </ul>
  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

2条回答 默认 最新

  • dpnof28482
    dpnof28482 2019-08-02 14:08
    已采纳

    I found the solution for this bug! Actually, it's not a bug depending on HTML2PDF but it's related to TinyMCE (HTML Editor). and when creating a list inside another list it will generate an HTML code with ul tag inside another ul tag. The solution is to add lists to the plugins when init tinyMCE.

    tinyMCE.init({
    ...
    plugins : "lists",
    ...
    });
    
    点赞 评论
  • duanniedang3946
    duanniedang3946 2019-08-02 12:52

    It's not bug, but incorrect HTML you're putting in. You can have UL inside, but it has to be as following:

     <ul style="margin-top: 0in;" type="disc">
       <li class="MsoNormal" style="mso-list: l0 level1 lfo1;">text</li> 
       <li class="MsoNormal" style="mso-list: l0 level1 lfo1;">text3 </li> 
       <li class="MsoNormal" style="mso-list: l0 level1 lfo1;">text2 bis</li>
       <li class="MsoNormal" style="mso-list: l0 level1 lfo1;"> text1 bis</li>
       <li>
         <ul style="margin-top: 0in;" type="circle">
           <li class="MsoNormal" style="mso-list: l0 level2 lfo1;">text2</li>
           <li class="MsoNormal" style="mso-list: l0 level2 lfo1;">text1</li>
         </ul>
       </li>
    </ul>
    

    Have a look https://www.w3schools.com/html/html_lists.asp

    点赞 评论

相关推荐