0

Это мое первое гибридное приложение. Я нахожусь в этом уже 6 месяцев, поэтому я собрал хороший опыт. Мы нацеливаем как android 4 + & ios 8,9. Мы используем cordova cliУправление внешними ссылками после HTTP-сообщения (cordova)

В заявке на кордову мы в настоящее время разрабатываем функцию для оплаты через Интернет. Для этого мы используем для этого сторонний кошелек.

Мы готовим детали (уникальный идентификатор, детали сделки, перенаправление URL и т.д ..) и после третьей стороне сервера размещенного через HTTP POST (не АЯКС)

Третья сторона системы бумажник представлена ​​страница, которая позволяет пользователю для ввода учетных данных. При успешном завершении пользователь будет перенаправлен на определенный URL перенаправления (который мы будем размещать на нашем сервере). На этой странице появится кнопка «Назад», после чего он должен вернуться в приложение.

Я попробовал опцию inappbrowser, я не смог получить ссылку на новую страницу оплаты, так как это сообщение не получает (я имею в виду., Window.open не помогает). Пожалуйста, помогите мне в этом.

Отредактировано

Чтобы быть более конкретным, в моем приложении, у меня есть форма, это разместить на внешнюю ссылку. На внешней странице, нажав ссылку, мне нужно вернуться в мое приложение.

+0

HTTP для отправки сообщений в платежной системе .. Я предпочел бы использовать HTTPS. – HyperZ

+0

да., Вы правы., Это HTTPS. – Saravanan

+0

Пожалуйста, ** ответьте на следующие вопросы в своем сообщении **. Поскольку это ваш первый пост на эту тему. Это ваше первое гибридное приложение? Какова ваша целевая платформа и их целевые версии: Android 4,5,6? iOS 7,8,9? Используете ли вы [CLI, SDK или Build] (https://github.com/jessemonroy650/top-phonegap-mistakes/blob/master/new-to-Phonegap.md#001)? Пожалуйста, не принимайте ответ, пожалуйста, прочитайте ссылку. Как только вы ответите на вопрос * в сообщении *, ответьте в комментариях, чтобы я знал, что вы добавили информацию в сообщение. – JesseMonroy650

ответ

0

Чтобы вернуться в приложение, необходимо реализовать следующие обработчики событий:

   var ref =cordova.InAppBrowser.open(url, "_blank",'location=no,clearcache=yes,hardwareback=no,zoom=no');      
       ref.addEventListener('loadstart',onBrowserLoadStart); 
       ref.addEventListener('loadstop',onBrowserLoadStop); 
       ref.addEventListener('loaderror', onBrowserError); 
       ref.addEventListener('exit', onBrowserClose); 

на кнопке Закрыть в браузере, перенаправляет на какой-то фиктивный близко страницы, а затем на onBrowserLoadStart события, сделать что-то вроде этого :

   var cUrl= 'webpageaddress/dummytemplate/appClose'; 
      if(event.url===cUrl){ 
        ref.close(); 
      } 

Опубликовать данные для создания на внешней странице. Есть ли что-то вроде этого:

 function onBrowserLoadStop(event){ 

//alert('form url is:'+ event.url); 
var cUrl= 'externalPageAddress/Dummytemplate/PaymentProcess'; 
if(event.url===cUrl){ 

    var msg; 
    var newHtml='someHTMLDATA'; 


    var withoutScriptHtml = $(newHtml.bold()); 
    withoutScriptHtml.find('script').remove(); 


    msg= " var formDiv = document.createElement('div'); formDiv.id='paymentFormDiv'; "; 
    msg+= " formDiv.innerHTML='" + withoutScriptHtml.html()+ "';" ; 
    msg += " document.getElementById('InputForm').appendChild(formDiv);"; 
    msg += " document.getElementById('paymentForm').submit();"; 



    ref.executeScript(
     { 
      code: msg 
     }, 
     function(values){ 
      console.log(JSON.stringify(values)); 
     } 
    ); 


} 

}

+0

Да., Это будет работать, если конечная точка является конечной точкой GET. Но в моем случае мне нужно создать сообщение до конечной точки. – Saravanan

+0

, чтобы отправить некоторые данные в конечную точку, см. Обновленный ответ. –

+0

любезно отметить это как ответ –

Смежные вопросы