Геолокация без разрешения в манифесте - PullRequest
0 голосов
/ 12 июля 2011

Можно ли использовать API геолокации в расширении Chrome, не включая разрешение "геолокации" в manifest.json?

Например, можем ли мы спросить разрешения через файл background.html, который запускает расширение?

Ответы [ 2 ]

1 голос
/ 13 июля 2011

Вы можете использовать его в скрипте содержимого без объявления разрешения.

Это вызовет стандартную панель уведомлений, спрашивающую, хотите ли вы позволить текущему сайту (не вашему расширению) доступ к геолокации.Если пользователь разрешает это, вы можете затем передать полученную позицию геолокации на фоновую страницу для дальнейшей обработки.

Этот подход может сработать, если ваше расширение внедряет скрипт контента в один домен, иначе пользователю придется разрешить геолокациюдля каждого посещаемого им домена.

Код должен выглядеть следующим образом:

navigator.geolocation.getCurrentPosition(function(position) {
    console.log("Latitude : "+position.coords.latitude+":"+"Longitude : "+ position.coords.longitude);
});
0 голосов
/ 13 июля 2011

Нету:

"Массив разрешений, которые может использовать расширение или приложение. Каждое разрешение может быть либо одной из списка известных строк (например," геолокация "), либо шаблоном соответствия, который предоставляет доступ одному или нескольким хостам. помогите ограничить ущерб, если ваше расширение или приложение атаковано. "

http://code.google.com/chrome/extensions/manifest.html

... и здесь:

Ваше разрешение "геолокации" физического местоположения Позволяет расширению использовать предложенный API геолокации HTML5 без запроса разрешения пользователя.

http://code.google.com/chrome/extensions/permission_warnings.html

На самом деле, посмотрев немного, вы можете, но пользователю будет предложено разрешение:

http://www.html5rocks.com/en/tutorials/geolocation/trip_meter/

... и эта страница от Google говорит, что вы можете использовать этот API и другие:

http://code.google.com/chrome/extensions/api_other.html

...