2016-06-11 2 views
0

Я реализую простую оболочку Phonegap для своего веб-приложения. В основном мне просто нужно приложение, подобное браузеру, отображающему загруженные страницы с сервера. Я перезаписать index.html файл проекта PhoneGap так:Как открыть ссылки в приложении Phonegap без открытия браузера устройства?

<!DOCTYPE html> 
<html> 

<head></head> 

    <body onload="onBodyLoad()"> 

    <script src="http://code.jquery.com/jquery-1.6.4.min.js"></script> 
     <script type="text/javascript"> 
     function onBodyLoad() 
     { 
      document.addEventListener("deviceready", onDeviceReady, false); 
      window.location.href = window.open("http://localhost:8000/", '_self ', 'location=yes'); 
     } 

     function onDeviceReady() 
     { 
      // do your thing! 
     } 
     </script> 
    </body> 
</html> 

Это открывает домашнюю страницу моего сайта и отображает его в качестве начальной страницы для приложения. И это работает. Проблема в том, что все ссылки на этой домашней странице будут открываться в браузере устройств. Я хотел бы открыть их в том же веб-обзоре Кордовы.

+0

Это не цель гибридных мобильных приложений. лучше сделать мобильный сайт вместо гибридного приложения. –

+0

Это требование, мне нужна такая оболочка, чтобы иметь мобильное приложение, а не мобильный сайт. – twist900

ответ

0

Вы можете использовать inAppBrowser plugin. Давайте прочитаем официальную документацию, и вы получите то, что вам нужно.

+0

Я попытался с этим плагином. Но он продолжает открывать браузер устройства. В любом случае, почему невозможно открыть любые другие внутренние страницы веб-сайта (localhost: 8000/*) внутри веб-сайта Cordova. Домашняя страница открывается отлично. – twist900

0

Вы должны белый список вашего сайта URL в config.xml

https://cordova.apache.org/docs/en/latest/reference/cordova-plugin-whitelist/index.html

+0

Спасибо, но это решает другую проблему, с которой я действительно столкнулся. Белый список позволяет перемещаться по ссылкам. И это хорошо, теперь я могу перейти к ссылке назначения, но в браузере устройств. Я хочу, чтобы он просто открывался в том же приложении. – twist900

0

я получил желаемый результат с помощью следующего кода:

function onBodyLoad() 
{ 
    document.addEventListener("deviceready", onDeviceReady, false); 
} 
function onDeviceReady() 
{ 
    window.open("http://localhost:8000/", '_blank','toolbar=no,location=no'); 
} 
Смежные вопросы