Мне нужно было несколько вариантов для работы геолокации на наших ноутбуках с IE8, и я изучил как Google Chrome Frame (который работает), так и jquery polyfill (это то, что я пытаюсь заставить работать). Веб-сайт, с которого был взят пример, называется webshims, и я убедился, что упомянутая демонстрационная страница работает в IE8, но я не могу воссоздать пример для себя. Это мой JSP:
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<!DOCTYPE html>
<html>
<head>
<meta charset=utf-8>
<title>Geolocation</title>
<script src="<c:url value="/js/jquery-1.6.4.min.js"/>" type="text/javascript"></script>
<script src="<c:url value="/js/modernizr-latest.js"/>" type="text/javascript"></script>
<script src="<c:url value="/js/polyfiller.js"/>" type="text/javascript"></script>
<script type="text/javascript">
//http://afarkas.github.com/webshim/demos/demos/geolocation.html
$.webshims.polyfill();
navigator.geolocation.getCurrentPosition(function(pos){ $("#status").html("found you! latitude: "+ pos.coords.latitude +"/longitude: " + pos.coords.longitude); });
</script>
</head>
<body>
<p>Finding your location: <span id="status">checking...</span></p>
</body>
</html>
Он работает в любом браузере, где геолокация изначально поддерживается, но похоже, что полифилл не выполняет свою работу для IE8. Я получаю следующую ошибку:
Сведения об ошибке веб-страницы
Агент пользователя: Mozilla/4.0 (совместимый; MSIE 8.0; Windows NT 5.1; Trident/4.0; chromeframe/15.0.874.121; .NET CLR 2.0.50727; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729) Отметка времени: ср. , 7 дек 2011 17:48:06 UTC
Сообщение: «navigator.geolocation» имеет значение null или не является объектом Строка: 13 Char: 7 Код: 0 URI: ../GeoLocation/jquery.action
Я что-то упустил, чтобы сделать эту функцию правильно?