2015-06-02 5 views
2

Я пытаюсь использовать JS Navigator из сценария Python, запускающего pyv8.Использование JS-Navigator от PyV8

Ошибки Я удар с это:

ReferenceError: navigator is not defined 

Я попробовал один и тот же код в JSFiddle и он прекрасно работает, я могу только предположить, что запуск JS через браузер позволяет получить доступ к дополнительным функциям, что Двигатель V8 позволяет.

К сожалению, мои знания о JS (и почти любом веб-сайте!) Очень ограничены, я уверен, что это тривиальный вопрос для любого, у кого есть опыт работы в сети, кто-то любезно объяснит, почему это происходит, и как я могу избегайте этого?

EDIT

Попытка получить выходы из this JSFiddle.

И до сих пор мой код Python является:

import PyV8 

ctxt = PyV8.JSContext() 
ctxt.enter() 
ctxt.eval("navigator.geolocation.getCurrentPosition();") 

Я уверен, Theres проблемы с этим Aswell (т.е. фактически показывающие значения), однако сейчас я более обеспокоен, почему навигатор не определен.

+0

Приятно видеть, какой код вы пытаетесь запустить ... – Alex

+0

Конечно, отредактируйте. sec – Aphire

ответ

1

С летучей мыши Я бы сказал, что, поскольку вы не находитесь в среде браузера, нет глобальной недвижимости navigator.

Вам нужно будет найти другой способ получить информацию о геолокации ... возможно, используя библиотеку Python?

+0

К сожалению, все библиотеки Python, которые я использовал до сих пор, были довольно неточными (поместив меня в другую страну!), метод JS оказался единственным точным методом, который я нашел. Знаете ли вы об этом? Я буду рад принять ваш ответ как «ответил», если больше не появится больше ответов, которые появляются ближе к следующему дню. – Aphire

+0

Возможно, вы можете использовать доступные службы поиска IP, такие как MaxMind GeoIP2, которые, как я считаю, имеют бесплатный унаследованный сервис. Предполагая, что вы можете получить IP-адрес пользователя ... очевидно, что он не на 100% надежен из-за сетевой безопасности и т. Д., Но я использовал MaxMind (оплатить услугу), и это довольно точно. – Alex

+0

Большое спасибо !, я посмотрю. – Aphire