我有一个 React Native 应用程序(使用 React-Native 0.43.3),它使用 WebView 来显示用于网上银行的网页。该网站加载一个带有登录页面的弹出窗口。
对于 ReactNative WebView,此弹出窗口不会显示。在本机 android 中启用弹出窗口显示我发现我需要制作webView.getSettings().setJavaScriptCanOpenWindowsAutomatically(true)
,但是在使用ReactNative WebView时找不到设置该参数的方法。
有没有一种方法可以使用 ReactNative 提供的 WebView 来实现这一点?
不久前,我需要分叉react-native框架,因为iOS中有一个错误WebView
当在react-native和native(iOS和Android)之间使用javaScript桥接时,经过一些研究,我得出的结论是我必须分叉repo才能修复它,所以我这样做了。
一周前我需要webView.getSettings().setJavaScriptCanOpenWindowsAutomatically(boolean)
方法也是如此,所以我继续将其添加到我的叉子中view.getSettings().setSupportZoom(boolean)
and view.getSettings().setSupportMultipleWindows(supports)
.
如果你想,这是我的叉子 https://github.com/samermurad/react-native/tree/rctWebView-legacy-fix。
请记住,这意味着您需要从源代码为 Android 构建 React-Native,有关此事的更多信息可以找到here https://facebook.github.io/react-native/docs/android-building-from-source.html,说实话有点麻烦,但在某些情况下这是值得的。
该fork来自react-native 0.44.0,您还应该记住,如果您使用我的fork,这意味着当它们发布时您可能无法更新版本,所以这最终取决于您的需求,最坏的情况是你总是可以分叉我的分叉并将其与最新版本合并。
你可以通过修改你的内容来使用 npm 获取我的 forkpackage.json
文件然后运行npm update react-native
"dependencies": {
//...
"react-native": "samermurad/react-native#rctWebView-legacy-fix",
//...
}
我计划提取修复程序并构建一个单独的 WebView 组件,但我目前太忙了:/
我希望这有帮助:)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)