ASP.NET MVC: Как я отправляю “text/xml” во все браузеры, но IE?

Трапецеидальное искажение не было официально добавлено к хранилищу очарования амулета. Можно посмотреть здесь:

http://jujucharms.com/

я шел вперед и открыл ошибку для получения очарования в хранилище, как это на самом деле было записано и существующее долгое время.

https://bugs.launchpad.net/charms / + ошибка/998241

можно использовать ту, предложенную там с

juju deploy cs:~charmers/precise/keystone

8
задан John Gietzen 1 September 2009 в 15:44
поделиться

4 ответа

Согласно W3, вы должны использовать application / xhtml + xml , а не text / xml для обозначения XHTML:

http: / /www.w3.org/TR/2002/NOTE-xhtml-media-types-20020801/#text-xml

В статье выше также отмечается, что text / html должен не ] для содержимого XHTML.

2
ответ дан 5 December 2019 в 19:01
поделиться

Вы можете посмотреть на свойства в Request.Browser , понюхать IE таким образом и таким образом вернуть правильное представление, хотя это склонны к проблемам. Это не оптимально, потому что IE может поддерживать его в будущем.

public ActionResult MyAction() {
  if (this.Request.Browser.Browser == "IE") {
    return View("NonSVG");
  } else {
    return View("SVG");
  }
}

Что-то, на что стоит обратить внимание, может быть эта страница на Codeplex . Они определяют свойство в браузере под названием AcceptsImageSVG , но похоже, что оно предназначено для мобильных браузеров, не знаю, можно ли его использовать в вашей ситуации.

5
ответ дан 5 December 2019 в 19:01
поделиться

Тип браузера можно определить с помощью объекта Request.Browser

См. Этот пример http://msdn.microsoft.com /en-us/library/system.web.configuration.httpcapabilitiesbase.type%28VS.80%29.aspx

Итак, вы могли бы сделать что-то вроде:

if( Request.Browser.Type.ToUpper().Contains("IE") )
{
  // Return IE View
}
else
{
  // Return the other view
}

Или, если вы используете это во многих местах, вы можете создать фабрика ViewResult, которая возвращает правильный результат просмотра в зависимости от типа браузера.

2
ответ дан 5 December 2019 в 19:01
поделиться

Что-то вроде хакерства, но ... Что, если бы SVG был во фрейме, фрейм рекламировал content-type = text / xml, а на содержащейся странице рекламировалось более подходящее приложение / xhtml + xml. Это делит проблему на две (возможно) более разрешимые.

0
ответ дан 5 December 2019 в 19:01
поделиться
Другие вопросы по тегам:

Похожие вопросы: