LINUX.ORG.RU

Определить на стороне сервера (PHP) поддержку браузером: SVG или VML


0

0

Я нашел решение от Google Maps на стороне клиента (Javascript):

function supportsVml() {
if (typeof supportsVml.supported == "undefined") {
var a = document.body.appendChild(document.createElement('div'));
a.innerHTML = '<v:shape id="vml_flag1" adj="1" />';
var b = a.firstChild;
b.style.behavior = "url(#default#VML)";
supportsVml.supported = b ? typeof b.adj == "object": true;
a.parentNode.removeChild(a);
}
return supportsVml.supported
}

function supportsSvg() {
return document.implementation.hasFeature("http://www.w3.org/TR/SVG11/feature#Shape", "1.0")
}

http://209.85.129.132/search?q=cache:bRAsD8K5a24J:stackoverflow.com/questions...

А мне нужно на стороне сервера (PHP object script).
Проверять на браузер - не подходит.

внедрить код проверки JavaScript на основную страницу, а потом передавать результат как дополнительный параметр скрипту?

Если без яваскрипта то либо смотреть на HTTP заголовок Accept (если браузеры в нём SVG указывают), либо снифать браузер.

Deleted
()
Ответ на: комментарий от GotDotNet

Это костыли в духе попробовать использовать небольшой SVG и в зависимости от того, загрузится оно или нет (или по features проверять) переходить на нужный URL (URL?svg=yes или какой угодно).

Deleted
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.