需求
在用WebView
组件写一个东西,要求功能:打开web后进行js
代码注入。
开发
代码很简单,示例:
const js = `
alert(1);
alert(2);
`;
<WebView
source={{ uri: 'http://web.com' }}
injectedJavaScript={js}
/>
测试
以上代码在iOS
中完美执行,但是在Android
中却始终无法执行!
解决
调试了好久这个bug,一开始以为是Android
的Webkit
内核不支持一些新特性,后来发现还是不行。
最后一摸二去,才了解真正引发bug的原因:注入的js代码超行了。。
所以解决办法很简单:
把要inject
的js
进行压缩成一行即可。。