gpt4 book ai didi

chromium-embedded - 本地文件系统中带有 html/js 文件的 Cefpython 应用程序

转载 作者:行者123 更新时间:2023-12-01 03:11:43 27 4
gpt4 key购买 nike

我正在尝试使用 cefpython 制作一个混合 python-js 应用程序。

我想拥有:

  • cef python 应用程序本地的 JS 和 HTML 文件(例如在“./html”、“./js”等中)
  • 加载其中一个 HTML 文件作为初始页面
  • 避免文件相互访问(例如在目录之间)的任何 CORS 问题

  • 以下似乎可以加载第一页:
    browser = cef.CreateBrowserSync(url='file:///html/index.html',
    window_title="Rulr 2.0")

    但是,我随后遇到了 CORS 问题。
    我还需要运行网络服务器吗?或者是否有处理本地文件的有效模式?

    最佳答案

    尝试将“disable-web-security”开关传递给 cef.Initialize 或设置 BrowserSettings.web_security_disabled。

    还尝试设置 BrowserSettings.file_access_from_file_urls_allowed 和 BrowserSettings.universal_access_from_file_urls_allowed。

    CEF 中有一些用于加载自定义内容的选项,可用于加载文件系统内容而没有任何安全限制。有一个资源处理程序、一个方案处理程序和一个资源管理器。在 CEF Python 中,目前只有资源处理程序可用。 README-Examples.md 页面上有 wxpython-response.py 示例。

    资源管理器是一个非常简单的用于加载各种内容的 API,它将在 Issue #418 中实现(欢迎 PR):
    https://github.com/cztomczak/cefpython/issues/418

    对于方案处理程序,请参阅问题 #50:
    https://github.com/cztomczak/cefpython/issues/50

    此外,上游 CEF 中还有 GetResourceResponseFilter,它比资源处理程序更简单,可通过问题 #229 实现:
    https://github.com/cztomczak/cefpython/issues/229

    您还可以在您的应用程序中运行一个内部 Web 服务器(使用 Python 很容易做到)并以这种方式提供文件。上游 CEF 也有一个内置的 web 服务器功能,但是我认为这不会在 cefpython 中公开,因为在 Python 中设置 web 服务器已经很容易了。

    关于chromium-embedded - 本地文件系统中带有 html/js 文件的 Cefpython 应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51684075/

    27 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com