Веб-страница отображается как XML в Opera - PullRequest
1 голос
/ 09 ноября 2010

Opera отображает мой новый сайт в формате XML, и я не могу понять, почему.

Вот что должен сказать Firebug

Сервер Сервер разработки ASP.NET / 10.0.0.0
Дата Пн, 08 ноября 2010 22:58:32 GMT
X-AspNet-версия 4.0.30319
X-AspNetMvc-версия 2.0
Content-Encoding gzip
Cache-Control частный
Content-Type text / html; кодировка = UTF-8 * +1026 * Длина содержимого 1835
Соединение Закрыть

Вот что говорит W3C

  1. Строка 3, столбец 6: application / xhtml + xml не является подходящим Content-Type для документа, корневой элемент которого не находится в пространстве имен.
    • <html>
  2. Строка 3, столбец 6: html неэлементного элемента не разрешен в этом контексте. (Подавление дальнейших ошибок из этого поддерева.)
    • <html>

Вот разметка

<!DOCTYPE html>
<html>
<head>
    <title>What's happening around you right now! - My App</title>
    <meta content="no" http-equiv="imagetoolbar" />
    <link rel="search" type="application/opensearchdescription+xml" title="My App" href="/assets/xml/opensearch.xml" />
    <link rel="stylesheet" type="text/css" href="/MYREALLYCOOLAPP/Extras/siteMaster.Css/1" />
</head>
<body>
    <div class="page">
        <div id="header">
            <div id="title">
                <div id="urban-now-logo">
                    <a href="/MYREALLYCOOLAPP/" title="My App"><span>My App</span> </a>
                </div>
            </div>
            <div id="logindisplay">
                <span id="logindisplaywrapper"><a href="/MYREALLYCOOLAPP/users/login?go=/MYREALLYCOOLAPP">log in</a> | <a href="/MYREALLYCOOLAPP/modalwindow/selectregion"
                    title="Change Region" class="RegionWindow">Calgary</a> | <a href="/MYREALLYCOOLAPP/about">about</a> | <a href="/MYREALLYCOOLAPP/about/faq">faq</a>
                    <span style="padding-left: 20px;"></span>
                    <form action="/MYREALLYCOOLAPP/search" id="searchForm" method="get">
                    <input id="search-text" name="q" tabindex="1" type="text" maxlength="80" size="28" placeholder="search..." />
                    </form>
                </span>
            </div>
            <div id="menucontainer">
                <div class="floatleft">
                    <ul class="menu">
                        <li><a class="youarehere" href="/MYREALLYCOOLAPP/">Now</a></li>
                        <li><a href="/MYREALLYCOOLAPP/events/coming">Coming</a></li>
                        <li><a href="/MYREALLYCOOLAPP/events/hot">Hot</a></li>
                        <li><a href="/MYREALLYCOOLAPP/tags">Tags</a></li>
                        <li><a href="/MYREALLYCOOLAPP/users">Users</a></li>
                    </ul>
                </div>
                <div class="floatright">
                    <ul class="menu">
                        <li><a href="/MYREALLYCOOLAPP/events/addevent">Add Event</a></li>
                    </ul>
                </div>
            </div>
        </div>
        <div class="clear">
        </div>
        <div id="main">
            <h2>What's Happening Within The Next 24 Hours!</h2>
            <hr />
            <div id="innermain">
                <div class="twocolumn-left">
                    <div id='bingMap' class="largeMap">
                        <noscript>
                            <img src="http://developer.multimap.com/API/map/1.2/OA10091719904371779?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>
                </div>
                <div class="twocolumn-right">
                </div>
            </div>
            <div id="footer">
                <ul id="footernavigation">
                    <li>&#169; 2010 - <a href="/MYREALLYCOOLAPP/">My App</a> - All Rights Reserved</li>
                    <li><span class="colorgreen increasesize-140">&#9632;</span> <a href="/MYREALLYCOOLAPP/about">about</a> | <span class="colorgreen increasesize-140">
                        &#9632;</span> <a href="/MYREALLYCOOLAPP/about/faq">faq</a> | <span class="colorgreen increasesize-140">&#9632;</span> <a href="/MYREALLYCOOLAPP/about/advertise">
                            advertise</a> | <span class="colorgreen increasesize-140">&#9632;</span> <a href="/MYREALLYCOOLAPP/about/legal">legal</a></li>
                </ul>
            </div>
        </div>
    </div>
    <script type="text/javascript" src="http://ajax.microsoft.com/ajax/jquery/jquery-1.4.2.min.js"></script>
    <script type="text/javascript" src="http://ecn.dev.virtualearth.net/mapcontrol/mapcontrol.ashx?v=6.3"></script>
    <script type="text/javascript" src="/MYREALLYCOOLAPP/Extras/MYREALLYCOOLAPP.js/1"></script>
    <script type="text/javascript">
        var zoomLevel = 10
        var json_object = [{ "lat": 51.063097, "lon": -114.092031, "title": "Jubilee Auditorium", "desc": "Some great concerts go down here"}];
    </script>
    <script type="text/javascript" src="/MYREALLYCOOLAPP/Extras/bingmaps.js/1"></script>
</body>
</html>

По сути, когда я запускаю сайт в Opera, вверху написано

Этот документ не имел информации о стиле.

и затем отображается вся моя разметка (например, xml).

Ответы [ 2 ]

1 голос
/ 09 ноября 2010

Похоже, ваш сервер отправляет файл в виде текста / html в Firefox, а приложение / xhtml + xml в Opera.

Opera (10.63) имеет интерфейс, похожий на firebug, с которым вы можете проверить это. Щелкните правой кнопкой мыши страницу, чтобы открыть контекстное меню, выберите «Проверить элемент». Выберите вкладку «Сеть» и разверните соответствующую строку запроса. Затем откройте «Заголовки» или «Сырье», и он покажет вам тип контента, использованный для отправки страницы в Opera.

Чтобы Opera могла правильно обрабатывать страницу как application / xhtml + xml, добавьте

xmlns="http://www.w3.org/1999/xhtml"

как атрибут элемента html, как говорит LukeH.

1 голос
/ 09 ноября 2010

Разве вашему DOCTYPE не нужно указывать соответствующий DTD и т. Д.?Например:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
     "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

И / или вам нужно указать пространство имен для вашего элемента <html>?Например:

<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...