2012-02-21 58 views
5

我正在製作一個簡單的應用程序,將加載谷歌地圖。但問題是,每次我加載此PhoneGap在Android上不會加載外部腳本

<script type="text/javascript" src="http://maps.google.com/maps/api/js?sensor=false"></script> 

它不會在我的Android模擬器上運行,同時在桌面上,它工作正常。我如何讓Phonegap或Android允許外部腳本工作/加載?

更新:我總是得到這個錯誤「應用程序錯誤:。。到服務器的連接失敗(文件/// android_asset/WWW/index.html的),但如果我刪除了谷歌地圖腳本它工作

回答

2

其實,白名單是問題就像@TDeBailleul說,但他所指的白名單中的iOS Android的沒有的位置。

在Android中,它是在/res/xml/PhoneGap.xml

在這個答案中有一個文件的例子:https://stackoverflow.com/a/9187479/878602

+0

它仍然無法正常工作。我還沒有在實際的手機上試過。這是我現在在PhoneGap上唯一的問題。 – psycrow117 2012-02-21 08:13:39

+0

也許你想做更多的事情?我當然不會在包含該腳本標記的錯誤應用程序中出現錯誤 – Devgeeks 2012-02-22 03:07:00

+0

您可以給我一個phonegap.xml樣本嗎?這是我的,但不起作用。 '<?XML版本= 「1.0」 編碼= 「UTF-8」> <接入原點= 「HTTP://127.0.0.1*」/> <接入原點=「HTTP://maps.googleapis .com *「/> \t ' – psycrow117 2012-02-23 01:37:23

0

最新的PhoneGap版本(2.7.0)。您應修改位於您的Android項目的/res/目錄中的文件「config.xml」。只需添加:

<access origin="http://www.yourdomain.com" subdomains="true" /> 

除非另有說明,否則域被假定爲阻塞。

0

在phonegap版本5.1中,事情與上述答案不同。

安裝了一個名爲cordova-plugin-whitelist的插件。閱讀文件plugins/cordova-plugin-whitelist/README.md瞭解詳情。

有多種白名單(導航,意圖和訪問來源),在這種情況下,您需要內容安全策略。

<!-- Enable all requests, inline styles, and eval() --> 
<meta http-equiv="Content-Security-Policy" content="script-src: 'self' 'unsafe-inline' 'unsafe-eval' 'https://maps.google.com'">