2015-06-02 30 views
2

我正在尝试从运行pyv8的Python脚本中使用JS Navigator。从PyV8使用JS-Navigator

我被击中的错误是:

ReferenceError: navigator is not defined 

我曾尝试相同的代码中的jsfiddle和它的伟大工程,我只能假设从浏览器中运行的JS允许使用更多功能的V8引擎允许。

不幸的是我的JS(几乎任何网站!)的知识是非常有限的,我相信这是与网络经验的人一个简单的问题,有人会亲切地从根本上解释为什么出现这种情况,我怎么能能去避免它?

编辑

试图从this的jsfiddle得到输出。

到目前为止我Python代码是:

import PyV8 

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

我与藏汉某些孤单的问题(即实际显示值),但是现在我更关心为什么导航仪是不确定的。

+0

很高兴地看到你正在尝试运行... – Alex

+0

当然,将编辑什么代码。 sec – Aphire

回答

1

蝙蝠我会说,因为你是不是浏览器的环境中,没有navigator全局属性可用。

你需要找到另一种方式来获得地理位置信息......也许是使用Python库?

+0

不幸的是,到目前为止,我使用的所有Python库都相当不准确(把我放到另一个国家!),JS方法似乎是我找到的唯一精确的方法。你知道这个有什么变通吗?如果没有更多的答案在第二天内出现,我很乐意接受您的答案为“已回答” – Aphire

+0

您可以使用可用的IP查找服务,如我认为有免费的旧服务的MaxMind GeoIP2。假设你可以获得用户的IP地址...显然它不是100%可靠的,因为网络安全等等,但我使用了MaxMind(支付服务),它非常准确。 – Alex

+0

非常感谢!我会看看。 – Aphire