Извините, это почти наверняка дубликат, но я искал StackOverflow и не смог найти ответ. Надеюсь, если я сформулирую это в самых общих терминах, я могу, это поможет кому-то еще в будущем.Загрузка и выполнение скриптов только в поддерживаемых браузерах?
Я включаю некоторые скрипты на своей веб-странице, которые отлично работают в Chrome/FF/Opera/Safari/IE9, но не совместимы с IE8 или ниже (для информации, это потрясающий D3.js).
Как я могу использовать, чтобы страница не удалась изящно в IE < 9?
В идеале я предпочел бы для IE < 9 пользователей
- не загружать D3.js внешние скрипты на всех и
- , чтобы показать им сообщение «К сожалению, это не будет работать для вас» в мой сценарий страницы, вместо того, чтобы пытаться использовать библиотеки D3 и вызывать ошибку JavaScript.
Текущий код в HTML-странице:
<script type="text/javascript" src="/js/d3.js"></script>
<script type="text/javascript" src="/js/mylocal.js"></script>
И в файле JavaScript, от открытия линии:
var vis = d3.select("#vis")
.append("svg:svg")
.attr("width", w)
.attr("height", h)
.append("svg:g");
// etc
Как я должен изменить это, чтобы убедиться, что только браузеры, поддержка D3 будет загружаться и пытаться ее выполнить?
Отключить их загрузку можно сделать так: http://css-tricks.com/how-to-create-an-ie-only- stylesheet/ – OptimusCrime
как об обнаружении признаков для поддержки svg, а затем ленивой загрузке библиотеки? – Burntime
@Burntime на самом деле это было бы предпочтительнее, я думаю, потому что он будет обрабатывать любые другие браузеры, которые не выполняют SVG. – Richard