Ответ 1
Ahhh.. Нашел ответ на этот вопрос. Мне пришлось добавить
<access origin="www.google.com"/>
в файл phonegap.xml
.
Я хочу иметь возможность ссылаться на веб-страницу в веб-просмотре phonegap, которая загружает внешнюю веб-страницу внутри одного и того же веб-сайта phonegap. Если я это сделаю, он загружается внутри webview:
public class App extends DroidGap {
@Override
public void onCreate (Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
super.loadUrl("http://google.com");
}
}
Тем не менее, я хочу сначала создать внутреннюю страницу со ссылкой на внешнюю страницу, поэтому я делаю это:
public class App extends DroidGap {
@Override
public void onCreate (Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
super.loadUrl("file:///android_asset/www/index.html");
}
}
и у меня есть ссылка:
<a href="#" onclick="navigator.app.loadUrl('http://google.com')">Google</a>
но эта ссылка запускает Google вне приложения, в веб-браузере, а не в веб-браузере. Что я могу сделать, чтобы убедиться, что ссылка на внешнюю страницу запущена внутри веб-сайта appgmail?
Ahhh.. Нашел ответ на этот вопрос. Мне пришлось добавить
<access origin="www.google.com"/>
в файл phonegap.xml
.
Кажется, что это изменилось, и доступ к происхождению, похоже, не имеет никакого эффекта. Если вы используете плагин whitelist cordova, как кажется стандартным. Вам нужно использовать allow-navigation в файле config.xml. Без этого он откроет ваш веб-браузер.
<plugin name="cordova-plugin-whitelist" version="1"/>
<allow-navigation href="https://google.com/*" />
Затем вы можете использовать window.location = 'https://google.com' для перехода на другую веб-страницу своего JS.
В последнем телефоне (1.7) в Cordova.plist есть ключ: OpenAllWhitelistURLsInWebView установил это в YES.