我正在我的应用中加载此WebView:
<WebView
style={{
marginTop: 5,
flex:1,
flexDirection: 'column',
alignItems:'center',
justifyContent: 'center',
backgroundColor: 'rgba(255,255,255,0.8)',
height:300
}}
source={require('./test.html')}
injectedJavaScript={injectedScript}
scalesPageToFit={true}
/>
因为我希望这个html文件显示我在调用render之前得到的字符串 - 我想要执行以下操作:
let injectedScript = `CKEDITOR.instances.editor.setData(${bodyForDisplay});`;
但它不起作用。当我用静态字符串(即“test”)替换$ {bodyForDisplay}时 - 它可以完美地工作。
有关如何在此处注入动态值的任何想法?
答案 0 :(得分:3)
您需要使用单引号或双引号括住${bodyForDisplay}
,因为它是方法setData
的字符串参数。
此外,请确保转义bodyForDisplay中的字符串,以便它不会关闭开始字符串引号(单引号或双引号)。 信任用户输入永远不安全,所以你也应该正确地逃避该字符串中的其他字符。