发送带有电子webview的发布请求

flo*_*ori 4 javascript http-post webview electron

我想从外部脚本发送POST带有Electron webview的请求.目前我只是将src属性设置为触发页面加载,该页面加载会发送GET请求:

<webview id="view">
<script>
document.getElementById('view').setAttribute('src', 'http://example.com/?foo=bar');
</script>
Run Code Online (Sandbox Code Playgroud)

有没有办法通过发送POST请求将webview导航到URL ?也许是一种方法webview,而不仅仅是黑客攻击src

art*_*iak 6

您可以使用Webview上下文执行任意代码.executeJavaScript.

此外,您的代码可以访问所有浏览器内置的apis.最方便的是使用fetch方法设置为post.

在您的情况下(如果已经加载了webview;例如.src已经设置了它):

document.getElementById('view')
  .executeJavaScript('fetch("http://example.com/?foo=bar", {method: "post"});');
Run Code Online (Sandbox Code Playgroud)

一些评论:

  1. 请求的来源由.srcwebview 控制.
  2. 似乎所有默认安全策略仍然由webview使用 - 特别是您无法拨打http:来自https:.
  3. 将代码作为字符串传递有点痛苦.