popweb,基于Web技术的弹窗框架

我在外部浏览器测试是可以工作的,但是在popweb里就报错,非常晕。。

你给 popweb 提一个 issue 吧, 我有空的时候给 popweb 加一个像EAF那样的调试器。

最近太忙了。

好的,先谢谢大佬 :grinning:

只能看到一个错误在popweb buffer里, 就是:

js: Uncaught TypeError: Cannot read properties of null (reading ‘appendChild’)

那就是你的 js 写错了

在外部浏览器是工作的,关键是不知道popweb里错在哪里。。 我用了fetch()api,这个应该是可以用的吧?

等我有空我把调试器加上吧, 那个报错肯定是 JS 的问题, 有可能是加载时机的问题。

调试器没有加之前也不要问我了, 我不知道。

添加了 popweb-enable-developer-tools 选项 Add popweb-enable-developer-tools option. · manateelazycat/popweb@738c4c9 · GitHub

设置为 t 就可以在弹出 popweb 窗口的时候同时弹出开发者工具了。

2 个赞

大佬牛啊,非常感谢,我去试试

看到错误信息了。。

Failed to load resource: net::ERR_NETWORK_ACCESS_DENIED

相关代码如下:

    let base = 'https://dictionary.cambridge.org/search/english-chinese-simplified/direct/?q=';
    let url = base + encodeURIComponent(word);
    let doc = '';
    try {
        let data = await fetch(url);
     }

在chrome里可以正常运行,不知道为啥popweb不行。。

你没有怀疑过你要设置一下 popweb 的代理吗?

这是家里的网络,没有设置代理, chrome和macOS都没有设

怀疑是不是CORS的问题。。不知道popweb里怎么设置绕过CORS?

popweb 和 EAF 都是类似的, 通过给 PyQt (其实是给 PyQt 里面的基于 Chromium 的 QWebEngine) 传递 --disable-web-security 参数来实现浏览器加载本地网页和访问本地文件系统。

其中浏览器本身的能力设置可以看 popweb/popweb.py at 659004ac937cd21343bc124b1b68f3947450e7c0 · manateelazycat/popweb · GitHub

所有的设置参数可以查看 QWebEngineSettings Class | Qt WebEngine 6.4.2

看起来已经设置了绕过CORS了?是我漏了其他什么吗?

你需要自己研究哈, 我没有时间对用户的所有问题进行技术支持, 这个只是社区的项目, 欢迎提交PR, 即使PR里是我不用的功能。

但是我没法对我都不用的功能提供支持, 需要你自己研究, 我没有太多精力, 抱歉。


备注(个人观点, 不是针对楼上的): 很多社区的人说我不管你们的需求, 我希望借这个机会阐述一下我的立场, 我个人精力很有限, 但是我的开源项目很多, 如果你反馈的问题刚好我也需要, 我大概率会找时间修复的。 但是如果你的需求我用不到, 欢迎自己研究提交PR, 我也会积极合并的。

但是千万不要期望, 提出一个你们自己会遇到的问题, 我全程帮你研究和实现的, 知识和能力是无限的, 但是我的精力是有限的, 大家考虑问题的时候一定要基于人性的常识去考虑, 千万不要抱着 我有需求, 你是作者, 你有能力添加功能, 为什么不添加? 你不添加就证明你对社区反馈不积极, 甚至我对作者你这个人的xxx产生偏见 ... 这样的想法, 然后用道德来绑架我。

我就是一个普通人, 只是刚好年纪大一点和经验多一点, 在多线程图形结合Emacs的领域有所研究而已。 朋友们, 千万不要这么想。 一个开源项目作者能够免费的开放代码出来提升大家效率已经是非常好的事情了, 千万不要认为开源项目作者要响应所有需求是 理所应当 的, 千万不要这样想。

如果你想要啥功能, 但是作者没有时间, 唯一的办法就是阅读源代码, 提升自己的能力, 提交PR, 大家共同维护开源项目。

如果想要功能, 但是自己又不提升能力去提交PR, 咋办? 凉拌

16 个赞

试用了 popweb-org-roam-link,还缺了个 (require 'ox-hugo)

image

欢迎大佬发送PR刷贡献者名单, 我平常很少用 org

1 个赞

可以,我回头交一下。 :grinning:

GNU Emacs 30.0.50

求助, MacOS下,现象:

  1. 可以弹出窗口。但窗口没内容,空白。
  2. 不能自动消失,得“强制退出”
(use-package popweb
  :load-path ("~/.emacs.d/el/popweb" "~/.emacs.d/el/popweb/extension/dict")
  :defer 3
  :config
  (require 'popweb-dict)
  (setq popweb-url-web-window-width-absolute 480)
  (setq popweb-url-web-window-height-absolute 270)
  )

set option popweb-enable-developer-tools with t, 发现窗口里的html文件是正常的,难道是字体的颜色不对?

Emacs -Q测试也没有找到啥线索: popweb buffer内容: qt.webenginecontext:

GL Type: core_profile Surface Type: OpenGL Surface Profile: CoreProfile Surface Version: 4.1 QSG RHI Backend: OpenGL Using Supported QSG Backend: yes Using Software Dynamic GL: no Using Multithreaded OpenGL: yes

Init Parameters:

  • application-name Python
  • browser-subprocess-path /opt/homebrew/lib/python3.11/site-packages/PyQt6/Qt6/lib/QtWebEngineCore.framework/Helpers/QtWebEngineProcess.app/Contents/MacOS/QtWebEngineProcess
  • disable-features ConsolidatedMovementXY,InstalledApp,BackgroundFetch,WebOTP,WebPayments,WebUSB,PictureInPicture
  • disable-speech-api
  • enable-features NetworkServiceInProcess,TracingServiceInProcess
  • enable-threaded-compositing
  • in-process-gpu
  • use-gl core_profile

js: Mixed Content: The page at ‘【zoo】什么意思_英语zoo的翻译_音标_读音_用法_例句_在线翻译_有道词典’ was loaded over HTTPS, but requested an insecure element ‘http://dict.youdao.com/pureimage?docid=7348460476502335146’. This request was automatically upgraded to HTTPS, For more information see Chromium Blog: No More Mixed Messages About HTTPS js: Mixed Content: The page at ‘【zoo】什么意思_英语zoo的翻译_音标_读音_用法_例句_在线翻译_有道词典’ was loaded over HTTPS, but requested an insecure element ‘http://dict.youdao.com/pureimage?docid=-3786433729563759741’. This request was automatically upgraded to HTTPS, For more information see Chromium Blog: No More Mixed Messages About HTTPS js: Mixed Content: The page at ‘【zoo】什么意思_英语zoo的翻译_音标_读音_用法_例句_在线翻译_有道词典’ was loaded over HTTPS, but requested an insecure element ‘http://dict.youdao.com/pureimage?docid=7348460476502335146’. This request was automatically upgraded to HTTPS, For more information see Chromium Blog: No More Mixed Messages About HTTPS

Process popweb terminated: 15