Возможно ли создать функцию внутри компонента WebView, вызвать функцию React Native?React Native - вызов Webview React Native function
ответ
Возможно, но я не уверен, что это единственный способ сделать это.
В принципе, вы можете установить обработчик событий onNavigationStateChange
и вставить информацию о вызове функции в навигационном url, вот пример концепции.
В React Native контекста
render() {
return <WebView onNavigationStateChange={this._onURLChanged.bind(this)} />
}
_onURLChanged(e) {
// allow normal the natvigation
if(!e.url.startsWith('native://'))
return true
var payload = JSON.parse(e.url.replace('native://', ''))
switch(e.functionName) {
case 'toast' :
native_toast(e.data)
break
case 'camera' :
native_take_picture(e.data)
break
}
// return false to prevent webview navitate to the location of e.url
return false
}
Для вызова нативного метода, используйте это только вызвать навигационное событие WebView и вставлять информацию о вызове функции в URL.
window.location = 'native://' + JSON.stringify({
functionName : 'toast', data : 'show toast text'
})
да это возможно, это Existe пакет для этого react-native-webview-bridge. Я использовал его в производстве, и он отлично работает.
Привет, Сидали Халлак, которые реагируют на родную версию u, используя? Потому что я использую 0.30 и устанавливаю его. Это связано с этой проблемой. Https://github.com/alinz/react-native-webview-bridge/issues/137 – ChokYeeFan
Я использовал 0.25, я закончил проект два месяца назад –
Вы можете придать яваскрипт функцию в WebView на нагрузке, а затем использовать OnMessage, чтобы получить ответ от функции, которую вы вводили больше информации IN Here
Я не уверен, но мое мнение -
Вы можете не. Webview может загружать только часть js, которую мы можем определить в компоненте Webview. Это полностью отдельный, чем другие компоненты, это всего лишь зона просмотра.
- 1. React Native function issue
- 2. React Native WebView error "_onLoadingStart"
- 3. React Native Webview NSURLErrorDomain 1022
- 4. React Native Webview get html
- 5. React Native Android Webview Video
- 6. React-Native-Meteor update React-Native 0.33
- 7. React-Native: Dismiss/Exit React-Native View back to Native
- 8. Inject JavaScript call in React-Native WebView
- 9. React/React-Native Refs [FIXED]
- 10. React + React Native стартовый комплект
- 11. React/React Native Global scope
- 12. Сочетание React и React-Native
- 13. React JS v React Native
- 14. Щебетать виджет внутри WebView in React Native
- 15. React native, открыть URL-адрес в webview
- 16. React native load css и js Webview
- 17. React Native WebView postMessage не работает
- 18. React Native WebView Загрузка ошибки Обработка
- 19. React Native открытие локального файла из webview
- 20. React Native: WebView загружает статический локальный файл
- 21. React-native facebook login через webview
- 22. React-native detect click on WebView
- 23. React Native WebView cache static html page
- 24. Постоянное хранилище для React Native Webview
- 25. Обновление WebView Javascript в React Native
- 26. Использовать существующий WebView JavascriptInterface с React-Native
- 27. React Native WebView не загружает источник
- 28. Open Webview on TouchableOpacity onPress React-Native
- 29. React Native WebView с iOS и domStorage
- 30. Фильтр ListView React-Native
Что именно вы хотите достичь? React native является мощным, который использует собственный API android или ios API, чтобы придать силу сборке приложений с помощью React native. Возможно, есть и другой хороший способ добиться успеха без использования WebView. –
Можете ли вы более конкретно о ваших требованиях –