Вызов window.location.href в PhoneGap запускает веб-браузер - PullRequest
9 голосов
/ 05 мая 2011

Hello Я пытаюсь разработать приложение для iPad с помощью PhoneGap. Я хотел бы динамически загрузить внутри страницы index.html главную страницу внешнего веб-сайта. К сожалению, используя

window.location.href = "http://mywebsite.com/cgi-bin/index.py"

запускает открытие окна Safari вместо использования контейнера PhoneGap.

Есть предложения?

Большое спасибо

Claus

Ответы [ 2 ]

5 голосов
/ 09 сентября 2012

Существует более простой вариант: изменить config.xml

Открыть все ссылки в WebView

Оставить веб-просмотр со значениями true или false

  • пример: <preference name="stay-in-webview" value="true" />

  • Если установлено значение true, все ссылки (даже если цель не указана) открываются в веб-просмотре приложения

  • используйте это предпочтение только в том случае, если вы хотите, чтобы страницы с вашего сервера занимали все ваше приложение

  • по умолчанию - false

Источник: https://build.phonegap.com/docs/config-xml

3 голосов
/ 18 октября 2011

Найдите файл AppDelegate.m в части проекта «Классы» и найдите webView: shouldStartLoadWithRequest: navigationType Сделайте функцию похожей на эту и попробуйте снова!

- (BOOL)webView:(UIWebView *)theWebView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType
{
    NSURL *url = [request URL];
    if ([[url scheme] isEqualToString:@"http"] || [[url scheme] isEqualToString:@"https"]) {
        [[UIApplication sharedApplication] openURL:url];    
        return NO;
    }
    else {
       return [ super webView:theWebView shouldStartLoadWithRequest:request navigationType:navigationType ];
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...