W3验证器->使用<脚本类型=“;text/javascript”>在html的正文中

W3 validator -> using <script type="text/javascript"> within body of html

本文关键字:gt javascript html 正文 text 类型 验证 使用 lt W3 脚本      更新时间:2023-09-26

我试图验证我的页面,但有一个错误需要修复。

我在代码中使用谷歌图表。为了填充图表,我需要在下面代码中显示的JavaScript中填写数据。

<script type="text/javascript">
      google.load("visualization", "1", {packages:["corechart"]});
      google.setOnLoadCallback(drawChart);

      function drawChart() {


        var data = google.visualization.arrayToDataTable([  <?php echo $data; ?>   ]);

        var data2 = google.visualization.arrayToDataTable([ <?php echo $datagoing; ?>   ]);

        var options = {
          backgroundColor: 'transparent',
            legend: 'none',
            height: '100px',
            width: '100px',
               chartArea: { height :"95%", width:"95%" },
        };
        var options2 = {
          backgroundColor: 'transparent',
            legend: 'none',
            height: '100px',
            width: '100px',
               chartArea: { height :"95%", width:"95%" },
        };

        var chart = new google.visualization.PieChart(document.getElementById('piechart<?php echo $loop ?>'));
        chart.draw(data, options);
        var chart2 = new google.visualization.PieChart(document.getElementById('piechartgoing<?php echo $loop ?>'));
        chart2.draw(data2, options2);
      }
    </script>

这是在一个循环中,所以代码是多次生成的,您可以通过查看我的页面的源代码看到这一点http://mr-tipster.com/pages/newcard.php?venue=Warwick&时间=3:05

我的问题是如何在保持页面html验证的同时做到这一点:http://validator.w3.org/check?uri=http%3A%2F%2Fmr-tipster.com%2Pages%2Newcard.php%3Venue%3Warwick%26time%3D2%3A30&charset=%28detect+自动%29&doctype=内联&group=0

问题是您将脚本直接放置在<table>标记内的tr之间,这是无效的。您现在拥有的:

<table>
    <tr>
        <td>...</td>
        ...
    </tr>
    <script type="text/javascript">...</script>
    ...
</table>

要快速解决此问题,请将脚本移动到行的最后一个<td>中(<script>是表单元格中允许的流元素)。效果将是相同的,并且它将毫无问题地得到验证。类似这样的东西:

<table>
    <tr>
        <td>...</td>
        ...
        <td>
            ...
            <script type="text/javascript">...</script>
        </td>
    </tr>
    ...
</table>

但是,如果你想以更干净、更优雅的方式解决这些问题,你应该按照Rory在评论中的建议:创建一个函数,并简单地调用它来更改参数,而不是拥有几乎相同的代码块。