我在Phonegap開發方面是全新的,我正在嘗試一些看起來很簡單但不工作的東西。phonegap window.location = url不工作
我遵循了Phonegap「入門」指南,並在我的Android手機上安裝了「PhoneGap Developer」應用程序。我創建了一個應用程序,並與phonegap serve
一起提供。我刪除默認js/index.js
,並打電話給app.initialize()
,並具有以下添加到它的位置index.html
:
<script>
function onDeviceReady() {
if (navigator.connection.type == Connection.NONE) {
navigator.notification.alert(
'An internet connection is required to continue');
} else {
navigator.notification.alert("HERE!");
window.location = "https://google.com";
}
}
document.addEventListener("deviceready", onDeviceReady, false);
</script>
如果我用它正確地加載一個Chrome瀏覽器訪問的應用程序,使彈出消息,然後加載了谷歌。如果我嘗試使用Android PhoneGap Developer應用程序,它會彈出消息,然後什麼也不做。
在config.xml我試圖設置一切,寬容地只是爲了得到它的工作:
<access origin="*" />
<allow-navigation href="*" />
<allow-intent href="*" />
在服務器控制檯我得到以下警告:
[phonegap] [console.warn] Content Security Policy has been modified to be: <meta http-equiv="Content-Security-Policy" content="default-src * 'unsafe-inline' gap: ws: https://ssl.gstatic.com;style-src 'self' 'unsafe-inline' data: blob:;media-src *;img-src * 'self' data: content:;script-src * 'unsafe-inline' 'unsafe-eval' data: blob:;">
我對CSP策略不夠熟悉,以確定該政策是否實際限制了加載「google.com」或不...
任何想法爲什麼開發工具不允許所有的導航,以促進發展?對我來說這似乎很奇怪。 –
我不知道,但在我看來,創建Cordova/Phonegap應用程序導航到Cordova webview中的外部網站是一種不好的做法。要導航到外部網站,您可以使用inAppBrowser插件。 – jcesarmobile
我一般同意你的看法,但這是一個僅限於開發者的工具。 –