Хром неправильно отображает мой SVG, поэтому я бы хотел использовать Chrome вместо PNG. SVG выглядит красиво в других современных браузерах, особенно Mobile Safari на iOS, где пользователи, вероятно, будут щепотать, чтобы увеличить масштаб - так что все остальные получают SVG, но Chrome получает PNG. Как я могу это сделать?PHP: Служить разные изображения в зависимости от браузера?
ответ
чтения the user agent string и служат содержание условно:
<?php
if (strpos($_SERVER['HTTP_USER_AGENT'], 'Chrome') !== false)
{
?>
<img src="mycontent.png">
<?php
} else {
?>
<svg>mycontent</svg>
<?php
}
?>
Спасибо! Это сработало, но ваш код нуждается в?> В конце, чтобы закрыть PHP. Добавьте это, и я приму это как ответ. (Не хочу, чтобы эта небольшая проблема с разметкой вызывала путаницу для других) – Mentalist
На самом деле PHP не требует закрывающего тега. На самом деле лучше всего [не включать] (http://stackoverflow.com/questions/4410704/why-would-one-omit-the-close-tag). – wavemode
Спасибо за дополнительную информацию. Все, что я знаю, я получил следующую ошибку, прежде чем добавить закрывающий тег, и добавив, что он разрешил его: Ошибка синтаксиса: ошибка синтаксиса, неожиданный «<» в ... filepath/test.php в строке 24. «<» В строке 24 a
это [ссылка] (https://www.google.com.au/webhp?sourceid=chrome-instant&ion=1&espv=2&ie=UTF-8 # q = css% 20browser% 20dependent% 20style) должно быть хорошим местом для начала – gwillie
Мне любопытно, что ваш SVG в том, что Chrome не может отобразить его правильно, но другие браузеры могут ... – wavemode
@wavemode Я отлаживал SVG и теперь он отлично отображает Chrome. проблема была вызвана различием в том, как Chrome создает пути с шагом, тоньше 1px. Мне не нужны эти штрихи, поэтому я удалил их все из XML. Это, конечно же, не делает этот вопрос менее обоснованным, поскольку знание того, как обслуживать специфический для браузера контент с PHP, безумно полезно. Если вам интересно, вот код, который я изменил (для всех заполнений). ИСПОЛЬЗУЕМЫЙ БЫТЬ: style = "fill: # cdc4b9; stroke: # cdc4b9; stroke-width: 0.25907141; stroke-miterlimit: 4; непрозрачность штриха: 1; stroke-dasharray: none" NOW SHORTENED TO: style = "fill: # cdc4b9;» – Mentalist