У меня отлично работает приложение, но мне бы хотелось, чтобы его можно было полностью проверить на W3.
Моя проблема довольно проста. Я использую Bing JS API, чтобы прикрепить Bing Map к тегу Div. В этом теге Div у меня есть элемент <noscript>, который вызывает поставщика статической карты MultiMap, если JavaScript отключен. Причина, по которой я решил сделать это таким образом, заключается в том, что я не хочу вызывать API MultiMap, если я не собираюсь его использовать.
<noscript>
Есть ли альтернативный способ сделать это, чтобы я мог быть верным W3 HTML5?
<div id='bingMap' class="largeMap"> <noscript> <img src="http://developer.multimap.com/API/map/1.2/xxxxxxxxxxxxxxx?zoomFactor=11&width=550&height=400&lat_1=51.18468&lon_1=-114.497999&lat_2=51.169858&lon_2=-114.32549&lat_3=51.083277&lon_3=-114.203964&lat_4=51.063097&lon_4=-114.092031&lat_5=50.939664&lon_5=-113.973568" /> </noscript> </div>
Я бы предложил убрать xmlns, чтобы он не интерпретировал ваш код как XHTML5 (в отличие от HTML5), поскольку XHTML5 - это просто более строгая версия HTML5, запрещающая многие функции. HTML5 по-прежнему поддерживает теги в стиле XHTML, поэтому без потерь.
Будет работать что-то вроде следующего:
<!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&width=550&height=400&lat_1=51.18468&lon_1=-114.497999&lat_2=51.169858&lon_2=-114.32549&lat_3=51.083277&lon_3=-114.203964&lat_4=51.063097&lon_4=-114.092031&lat_5=50.939664&lon_5=-113.973568" /> </noscript> </div> </body> </html>
Оберните <img/> в div, p или другой блочный элемент. <noscript> разрешено иметь только блочные элементы в качестве прямого потомка.
<img/>
<div id='bingMap' class="largeMap"> <noscript> <div> <img src="....." /> </div> </noscript> </div>
Это возможно:
<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>
Следующее подтверждается для меня на 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&width=550&height=400&lat_1=51.18468&lon_1=-114.497999&lat_2=51.169858&lon_2=-114.32549&lat_3=51.083277&lon_3=-114.203964&lat_4=51.063097&lon_4=-114.092031&lat_5=50.939664&lon_5=-113.973568" /> </div> </noscript> </div> </body> </html>