小编The*_*heE的帖子

将 .js 文件作为文本导入并在 React-native expo 中注入 JavaScript 的 WebView 中使用它

我有一个文件content.js,其中包含一些 JavaScript 代码,我想使用injectedJavaScript.

我试过:

    fetch('./content.js').then((result) => {
      result = result.text();
      this.setState(previousState => (
        {contentScript: result}
      ));
    });
Run Code Online (Sandbox Code Playgroud)

但它没有得到正确的文件。

const contentScript = require('./content.js');
Run Code Online (Sandbox Code Playgroud)

这是可行的,但它会立即评估 JavaScript,而且我似乎找不到在执行之前将其转换为字符串的方法。

解决方案是将 的代码复制content.js到字符串中,但是当我想编辑代码时,这会很烦人......

有谁知道更好的解决方案?
我已经快一周了仍然没有解决这个问题。:(

javascript webview react-native expo

6
推荐指数
1
解决办法
1726
查看次数

ReactNative WebView 无法在网页上呈现,但在 Android 上运行良好

使用的版本:

"expo": "^36.0.2",
"react": "16.9.0",
"react-dom": "^16.8.6",
"react-native": "0.61.4",
"react-native-web": "0.11.7",
"react-native-webview": "^8.1.2"
Run Code Online (Sandbox Code Playgroud)

使用的 React Native 代码:

<WebView
    source={{uri: 'https://www.somedomain.com/'}}
    style={{marginTop: 22, flex: 1}}
    injectedJavaScript={this.state.contentScript}
    domStorageEnabled={true}
    startInLoadingState={true}
    onMessage={this.receiveMessage}
    ref={this.props.webview}
/>
Run Code Online (Sandbox Code Playgroud)

网页版上只有红色边框,而 Android 版则可以正常加载。

不存在错误。这可能是一个已知问题吗?但我在任何地方都找不到报道。

react-native expo react-native-webview

3
推荐指数
1
解决办法
8210
查看次数