RomReed
@RomReed
JavaScript, Flutter, ReactNative, Redux, Firebase

Как реализовать react-native-webview onScroll?

Доброго дня. Я использую новый пакет react-native-webview и пытаюсь повесить функцию при прокрутки страницы. Вроде бы ничего сложного но почему то не работает. Возможно я что-то делаю не так.
<WebView 
   source={{
   uri: this.state.chosenCityUrl,
   "Accept-Language": navigator.language,
   "User-Agent": Platform.OS,
   }}
   javaScriptEnabled={true}
   ref={(b) => this._bridge = b}
   injectedJavaScript='window.onscroll=function(){alert("Not WORK");}'
   //injectedJavaScript='window.addEventListener("scroll", function(e)   
      //   { alert("Not WORK"); 
//   });
   />
  • Вопрос задан
  • 353 просмотра
Пригласить эксперта
Ответы на вопрос 1
RomReed
@RomReed Автор вопроса
JavaScript, Flutter, ReactNative, Redux, Firebase
Я не знаю почему но для моего сайта работает вот этот код
<WebView
                                    source={{
                                        uri: this.state.chosenCityUrl,
                                        "Accept-Language": navigator.language,
                                        "User-Agent": Platform.OS,
                                    }}
                                    javaScriptEnabled={true}
                                    ref={(b) => this._bridge = b}
                                    style={styles.webView}
                                    onError={(error) => {
                                        console.log("error", error);
                                        return NetInfo.isConnected.fetch().done(isConnected => this.setState({isConnected}))
                                    }}
                                    onLoadEnd={(e) => this.onLoadEnd(e)}
                                    renderError={() => this.renderError()}
                                    onNavigationStateChange={this._onNavigationStateChange.bind(this)}
                                    onMessage={event => this.onMessage(event)}
                                    injectedJavaScript="setTimeout(() => {document.addEventListener('scroll', function (event) {window.ReactNativeWebView.postMessage(JSON.stringify(document.getElementsByClassName('topconteiner')[0].scrollTop));},true);}, 300);true;"
                                />
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы