Как я могу загрузить веб-страницу в веб-просмотр телефона?

Я хочу иметь возможность ссылаться на веб-страницу в веб-просмотре 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?

Ответы

Ответ 1

Ahhh.. Нашел ответ на этот вопрос. Мне пришлось добавить

<access origin="www.google.com"/>

в файл phonegap.xml.

Ответ 2

Кажется, что это изменилось, и доступ к происхождению, похоже, не имеет никакого эффекта. Если вы используете плагин 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.

Ответ 3

В последнем телефоне (1.7) в Cordova.plist есть ключ: OpenAllWhitelistURLsInWebView установил это в YES.