【问题标题】:QWebEngineView - Allow local Store in the BrowserQWebEngineView - 允许浏览器中的本地存储
【发布时间】:2020-12-31 06:29:51
【问题描述】:

我正在尝试实现一个网络浏览器来查看网页'https://earth.google.com/web'。 浏览器工作正常。 浏览器保存我的谷歌用户,所以当我开始一个新的会话时,我不必输入我的谷歌用户来使用我的设置。 当我上传 KML 曲目时出现问题,程序显示“要保存此文件,请在浏览器中启用本地存储。

在 Python 控制台中我看到了这条消息:

js: 'window.webkitStorageInfo' is deprecated. Please use 'navigator.webkitTemporaryStorage' or 'navigator.webkitPersistentStorage' instead.

如果曲目没有保存,当我开始一个新的会话时,KML 不存在。

我试试这个:

# Creation of Widget
self.web_view = QWebEngineView() 

# Setting the Browser
settings = QWebEngineSettings.globalSettings()

# Setting Local Storage
settings.setAttribute(QWebEngineSettings.LocalStorageEnabled, True)

# Other settings I tried:
    

settings.setAttribute(QWebEngineSettings.JavascriptCanAccessClipboard, True)
settings.setAttribute(QWebEngineSettings.PluginsEnabled, True)
settings.setAttribute(QWebEngineSettings.FullScreenSupportEnabled, True)
settings.setAttribute(QWebEngineSettings.ScreenCaptureEnabled, True)
settings.setAttribute(QWebEngineSettings.AllowGeolocationOnInsecureOrigins, True)
settings.setAttribute(QWebEngineSettings.JavascriptCanPaste, True) 

【问题讨论】:

    标签: python pyqt5 qwebengineview


    【解决方案1】:

    不必启用QWebEngineSettings::LocalStorageEnabled 等属性,因为它们默认启用,但您必须接受与quotaRequested 信号关联的QWebEngineQuotaRequest

    self.web_view.page().quotaRequested.connect(lambda request: request.accept())
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-12-16
      • 2018-07-01
      • 1970-01-01
      • 2014-02-05
      相关资源
      最近更新 更多