如何在React Native Webview';什么是注入的JavaScript?
当我在React Native Webview的injectedJavaScript属性中使用regexp时,将抛出一个错误如何在React Native Webview';什么是注入的JavaScript?,javascript,ios,react-native,wkwebview,Javascript,Ios,React Native,Wkwebview,当我在React Native Webview的injectedJavaScript属性中使用regexp时,将抛出一个错误Unterminated regular expression literal error,并且regexp将不被接受 我应该如何在injectedJavaScript中使用regexp?如果没有,有什么解决方法可以使用吗? 最低可复制代码如下所示: //这行不通 //这也不行 //这会奏效的 操作系统:iOS 操作系统版本:13.3.1 react本机版本:0.61.
Unterminated regular expression literal error
,并且regexp将不被接受
我应该如何在injectedJavaScript中使用regexp?如果没有,有什么解决方法可以使用吗?
最低可复制代码如下所示:
//这行不通
//这也不行
//这会奏效的
- 操作系统:iOS
- 操作系统版本:13.3.1
- react本机版本:0.61.2
- react本机webview版本:8.1.2
计算injectedJavaScript时出错:这可能是由于不支持的返回类型造成的。尝试将true添加到injectedJavaScript字符串的末尾。Error Domain=WKErrorDomain Code=4“发生JavaScript异常”UserInfo={WKJavaScriptExceptionLineNumber=1,WKJavaScriptExceptionMessage=SyntaxError:Unterminated正则表达式文字“/”,WKJavaScriptExceptionColumnNumber=0,WKJavaScriptExceptionSourceURL=,NSLocalizedDescription=发生JavaScript异常}您不是在编写普通的Javascript—您是在webview中编写Javascript,必须首先通过webview评估语法。要在
injectedJavaScript
中使用文字反斜杠(例如,对于\r
),请改为使用两个反斜杠(\\r
):
我认为
<WebView
source={{ uri: 'https://github.com/ashi009/node-fast-html-parser' }}
injectedJavaScript={`const regE = new RegExp(/\n|\r/);`}
/>
(对
\r
也做了同样的事情)。但是正则表达式文本中不允许使用换行符。您不是在编写普通的Javascript,而是在webview中编写Javascript,必须首先通过webview对语法进行评估。要在injectedJavaScript
中使用文字反斜杠(例如,对于\r
),请改为使用两个反斜杠(\\r
):
我认为
<WebView
source={{ uri: 'https://github.com/ashi009/node-fast-html-parser' }}
injectedJavaScript={`const regE = new RegExp(/\n|\r/);`}
/>
(对
\r
也做了同样的事情)。但是在正则表达式文本中不允许使用换行符。这可能是一个转义字符,您能详细说明吗?胡猜。尝试一个没有反斜杠的模式,看看它是否编译。也可以放一个代码>在声明的末尾,我可以使用没有反斜杠的模式而不会出错。谢谢但我需要有反斜杠的图案。那我该怎么办呢?听起来好像它在webview中被解释为转义字符或其他东西,所以在模式中只有一个反斜杠是不够的。尝试双转义反斜杠,它可能会起作用:/\\n| \\r/代码>这可能是一个转义字符,你能详细说明吗?胡猜。尝试一个没有反斜杠的模式,看看它是否编译。也可以放一个代码>在声明的末尾,我可以使用没有反斜杠的模式而不会出错。谢谢但我需要有反斜杠的图案。那我该怎么办呢?听起来好像它在webview中被解释为转义字符或其他东西,所以在模式中只有一个反斜杠是不够的。尝试双转义反斜杠,它可能会起作用:/\\n| \\r/代码>
<WebView
source={{ uri: 'https://github.com/ashi009/node-fast-html-parser' }}
injectedJavaScript={`const regE = new RegExp(/
|\r/);`}
/>