3

I've got my application working great, however I'd LOVE to be able to have it validate completely on W3.

My problem is quite simple. I'm using the Bing JS API to attach a Bing Map to a Div tag. Within that Div tag, I have a <noscript> element that calls the MultiMap static map provider IF javascript is disabled. The reason I've chosen to do it this way is because I don't want to call the MultiMap API if I'm not going to actually use it.

Is there an alternative way to do this so that I can be W3 HTML5 valid?

<div id='bingMap' class="largeMap">
    <noscript>
        <img src="http://developer.multimap.com/API/map/1.2/xxxxxxxxxxxxxxx?zoomFactor=11&amp;width=550&amp;height=400&amp;lat_1=51.18468&amp;lon_1=-114.497999&amp;lat_2=51.169858&amp;lon_2=-114.32549&amp;lat_3=51.083277&amp;lon_3=-114.203964&amp;lat_4=51.063097&amp;lon_4=-114.092031&amp;lat_5=50.939664&amp;lon_5=-113.973568" />
    </noscript>
</div>
4

4 回答 4

1

I would suggest taking out the xmlns in order to prevent it from interpreting your code as XHTML5 (as opposed to HTML5) as XHTML5 is just a stricter version of HTML5 disallowing many features. HTML5 still supports XHTML-style tags, so no loss.

Something like the following would work:

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="utf-8" />
    <title>title</title>
  </head>
  <body>
    <div id="bingMap" class="largeMap">
      <noscript>
        <img alt="" src="http://developer.multimap.com/API/map/1.2/xxxxxxxxxxxxxxx?zoomFactor=11&amp;width=550&amp;height=400&amp;lat_1=51.18468&amp;lon_1=-114.497999&amp;lat_2=51.169858&amp;lon_2=-114.32549&amp;lat_3=51.083277&amp;lon_3=-114.203964&amp;lat_4=51.063097&amp;lon_4=-114.092031&amp;lat_5=50.939664&amp;lon_5=-113.973568" />
      </noscript>
    </div>
  </body>
</html>
于 2010-12-30T19:00:19.563 回答
1

这也许是:

<html>
<body>
  <script type="text/javascript">
    document.write("<" + "!--");
  </script>
  <p>This will be commented out if scripting is supported.</p>
  <script type="text/javascript">
    document.write("-" + "->");
  </script>
</body>
</html>
于 2010-11-09T01:48:06.587 回答
1

将其包装<img/>成 div、p 或其他块元素。<noscript>只允许将块元素作为直接子元素。

<div id='bingMap' class="largeMap">
    <noscript>
        <div>
            <img src="....." />
        </div>
    </noscript>
</div>
于 2010-11-09T01:48:50.750 回答
0

以下在http://validator.w3.org/check为我验证

<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE html PUBLIC
  "-//W3C//DTD XHTML 1.1//EN"
  "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" >
<head>
<title>title</title>
    <meta http-equiv="content-type" 
        content="text/html;charset=utf-8" />
    <meta http-equiv="Content-Style-Type" content="text/css" />
</head>
<body>

<div id='bingMap' class="largeMap">
    <noscript>
      <div>
        <img alt="" src="http://developer.multimap.com/API/map/1.2/xxxxxxxxxxxxxxx?zoomFactor=11&amp;width=550&amp;height=400&amp;lat_1=51.18468&amp;lon_1=-114.497999&amp;lat_2=51.169858&amp;lon_2=-114.32549&amp;lat_3=51.083277&amp;lon_3=-114.203964&amp;lat_4=51.063097&amp;lon_4=-114.092031&amp;lat_5=50.939664&amp;lon_5=-113.973568" />
      </div>
    </noscript>
</div>

</body>
</html>
于 2010-11-09T02:24:58.390 回答