Как получить сайт после входа пользователя в React Native - PullRequest
0 голосов
/ 21 февраля 2020

Итак, я пытаюсь получить div с веб-сайта системы университетского кампуса, чтобы показать его в своем приложении React Native, но что бы я ни пытался, я не могу этого сделать.

Допустим, страница входа в систему моего кампуса по ссылке campus.com/login. Пользователь должен войти в систему со своими учетными данными, чтобы попасть на главную страницу системы. Затем пользователь должен нажать кнопку, чтобы go campus.com/program. Когда пользователь в campus.com/program мне нужно получить div с этой страницы. Я не могу напрямую go до campus.com/program, потому что он автоматически перенаправляет на страницу входа.

Вот что я пробовал до сих пор:

1- Я пытался использовать react-native-inappbrowser-reborn Я не смог найти какой-либо метод, чтобы отслеживать, где пользователи в браузере.

2- Я попытался react-native-webview со следующим кодом:

const jsCode = "window.postMessage(document.getElementsByTagName('body').innerHTML)";
<WebView
               javaScriptEnabled={true}
               injectedJavaScript={jsCode}
               source={{uri: 'https://campus.com/login'}}
               onMessage={event =>
                 console.log(event)
               }
             />

Это тоже не работает. Ничего не возвращается с введенным javascript.

3- Я пытаюсь использовать onnavigationstatechange с WebView, но это не работает, потому что страница входа и программы находится в одном домене.

Есть ли способ использовать в этой ситуации? Кто-нибудь может помочь, пожалуйста?

1 Ответ

0 голосов
/ 02 марта 2020

В случае, если кто-то получит ту же проблему, что и я, вы должны использовать window.ReactNativeWebView.postMessage() вместо window.postMessage() и получить сообщение с помощью onMessage prop в веб-просмотре. `

...