2015-06-02 40 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