思源能不能把浏览器的浏览网页的功能补全,在写文档过程中,频繁切浏览器和思源的窗口,效率好低

  1. 比如在 mac 上,向系统注册浏览网页的接口,让思源有能力成为默认浏览器
  2. 比如支持 iframe 里面,打里面的链接,可以在新标签页打开新的链接
  3. 比如正常浏览的时候,遇到有微信登录的界面,不会调到默认浏览器上,导致没法继续。
  4. 比如支持新建标签页的时候输入网址等
  5. 比如在 iframe 或者新建标签页浏览的时候,支持右键菜单等。

@88250 @Vanessa

  • 思源笔记

    思源笔记是一款隐私优先的个人知识管理系统,支持完全离线使用,同时也支持端到端加密同步。

    融合块、大纲和双向链接,重构你的思维。

    22773 引用 • 91425 回帖 • 2 关注

相关帖子

欢迎来到这里!

我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。

注册 关于
请输入回帖内容 ...
  • iqeqsq

    有些网站我还想保持登录态。比如富途,比如哔哩哔哩,比如知乎等

  • 将文档用新窗口打开并钉住,比支持你说的这些要简单方便

    2 回复
  • iqeqsq
  • iqeqsq

    你这个操作,跟我想要的功能没关系吧。我是想让思源本身也是个基本的浏览器。

  • iqeqsq

    我试了一下,确实可以悬浮在浏览器前面,但如果这个时候还要切文档就会繁琐一点。

    所以最好思源本身能完善下浏览器的基本功能。本身写文档就需要参考很多资料。

  • iqeqsq

    @88250 @Vanessa

    这块可以提上日程吗,个人感觉还是挺实用的。毕竟写文档需要资料,而资料大多来源于互联网。

  • iqeqsq

    思源桌面端是基于 electron 开发的,理论上把浏览器基本功能补全,这块会方便一点。

    1 回复
  • 88250

    暂时不考虑了,感谢提议。

    1 回复
  • iqeqsq

    大家觉得这块功能怎样

  • 这可不是一句“把浏览器基本功能补全”就能轻而易举概括的事情。

    1 回复
  • 为啥不在浏览器打开思源使用,iframe 好像是本身好多限制,我之前有问过

    1 回复
  • iqeqsq

    不一定是 iframe 吧,electorn 浏览网页有很多种形式,除了有 webview 组件外,本身就支持一个 tab 完整打开网页内容的。

    1 回复
  • iqeqsq

    把我说的那几点实现就好,没那么复杂。

    1 回复
  • iqeqsq

    希望大大再考虑考虑下

  • iqeqsq

    是 electron,不是 electorn,拼错了,统一修改下

  • EmptyLight 2 赞同

    思源的定位就是笔记软件,就算用了 Electron 做前端也不是为了浏览网页设计的。要变成默认浏览器不如用浏览器打开思源页面。打开思源之后浏览器输入 127.0.0.1:6806 访问思源就好了。

    1 回复
  • 不太懂这些,集市有 web 的插件,但不一定能解决你的需求,我觉得浏览器打开解千愁,还能使用浏览器插件啥的。

    1 回复
  • 既然没那么复杂的话,欢迎 PR

  • syuer9528 1 赞同

    有个 browserTab 的思源扩展插件你看一下是不是可以满足?

    此外,ELECTRON 和全功能浏览器完全不是一个概念的东西,这个工作量完全不是一个量级。

    至于频繁切换于浏览器和工作软件之间的场景,如果是在 LINUX 下你可能需要一个平铺式桌面管理器,如 i3WM, awesome wm , dwm 等。这种是专门为超高强度依赖多窗口切换用户准备的。

    如果是其它操作系统,你更需要的可能是一个大的屏幕或者双屏。双屏或超大屏幕能解决窗口管理器覆盖的 90% 的需求。

    1 回复
    1 操作
    syuer9528 在 2024-11-06 08:23:24 更新了该回帖
  • iqeqsq

    这是一个实现方案。

    现在就考虑性价比的问题。

    首先产出这块,如果思源本身的浏览网页的功能基本完整,这对思源本身没有多少坏处吧,基本只有好处是吧。

    我们只要控制投入这块的成本是否合理。

    1 回复
  • iqeqsq

    基本功能就好,满足基本的网页浏览,不受阻碍,就比如基本的登录问题可以解决。

  • iqeqsq

    但是这个时候网页版本的思源就是阉割版本的了。

  • iqeqsq

    但这个时候,网页版的思源版比起桌面版功能就没那么完整了

  • EmptyLight 1

    我举两个我常用的 Electron 应用:VSCode 和 GitHub Desktop,你会向它们提 issue 希望可以在里面实现完整的浏览器功能吗?你想要在 VSCode 里看网页、在 GitHub Desktop 里访问 Github 官网吗,如果它们做的是笔记管理功能呢?这时候你会希望吗?又说到其他没有用 Electron 实现前端的笔记软件呢?

    同样都是 Electron,并不是说 electron 就是为了浏览器而生的。使用 electron 就是用它来渲染前端页面,这个前端可以是 HTML,可以是 Vue,也可以是别的支持格式。不用 Electron,也可以是 Tauri,或者干脆回到命令行,在启动之后由用户自己在浏览器中打开思源页面。

    我说这些并不是想反驳在 Electron 中实现浏览器有多不合理,只是想说思源使用 Electron 只是需要一个前端页面,而它可以封装进一个统一的渲染环境,在各端提供一个统一的环境,而不需要像 Tauri 那样调用系统的浏览器内核,而导致在不同的系统上有不同的表现。思源使用 Electron 的目的只是提供前端页面,仅此而已。如果要添加浏览器功能,就偏移了原本的路线。

    如果我有哪里说的不对的,还请指正。

    1 回复
  • iqeqsq

    写得挺好,赞。

    vscode 对网页打开的支持也越来越完善了。

    我核心还是想要解决的还是 iframe 的登录问题,因为我们是笔记,有很多需要用到 iframe 的,但 iframe 解决起来比较复杂,所以才想让思源解决基本浏览器的问题。

    1 回复
  • EmptyLight 2

    这里说下我的想法:

    要在思源里面浏览网页首先肯定面临安全问题,思源也没法很好地把自己的代码和网页代码(js、css)良好地共存,这是其一;

    思源要访问别的网页必定涉及跨域问题,而现在的网页都收得很紧,几乎不允许跨域访问,更别提还有浏览器的安全管理,直接不允许出现任何跨域访问,这就导致了你用 127.0.0.1 没法访问其他网页,这是其二;(这个我是靠前面学前端的经验总结的,可能有误,学校里教的就那么点)

    思源前端的所有功能都是为了和后端交互,如果在前端加入普通浏览器的功能,则必定会导致前端出现不必要的功能,并且思源原本就没有特别适配访问要访问网页的功能,必定是跳转到默认浏览器进行访问、操作,这是其三。(严重的功能冗余)

    其四,在思源的所有开发规划和需求表上,都没有浏览器的功能,如果要加上浏览器的功能,就必定严重偏移原本的设计规划。好比这块地建一座图书馆,现在已经建起来了,各种书入库了一半空间,现在路过的人给建议信箱里塞了一封信,说把剩下的空间加建成学校,显然不是建图书馆的目的。因此这样的需求不是明显合理的需求,首先需求优先级低,其次跟项目的立项目的不符。

    其五,思源只有两个人在开发,开发资源严重不足,本身就有很多问题尚待解决,更别提要加入那么复杂的需求(要访问网页还算简单,正确显示网页相当困难,更别提思源本身还有 js、css,更加难以像普通浏览器那样显示网页)

    话说 VSCode 也没有支持直接显示网页,我就记得可以访问 visual studio market、更新日志和插件自己适配的网页(都没有直接按照浏览器访问的样式显示),其他所有链接统统走浏览器。所以 VSCode 对网页访问也没有什么支持。

    对于 iframe,思源没有做改动的话其实现在的 iframe 就是网页里能访问到的 iframe 功能。你在浏览器里用 iframe 和现在在思源里用 iframe 的体验其实是一样的。

    1 回复
  • iqeqsq 3 评论

    辛苦打这么多字,你可能对其中的很多技术细节不了解,导致这其中有比较大的误解,可以找一些资料下。

    1. 我做过前端开发,浏览器开发,安全问题没有你想象得这么大。

    chrome 浏览器,electorn,包括安卓的 WebView 都是基于开源的 chromium 内核,想要正确处理好 js,css,html,并绘制成网页,这部分 chromium 内核就已经做了。electron 只是给 siyuan 提给前端框架,渲染绘制这部分还是依赖 chromium 内核。正常浏览网页这部分已经交给 chromium 处理了,安全也是如此。

    1. 单独弄个标签访问网页,不存在所谓的跨域问题,你可以去网上先查一下什么是跨域问题。即使是在 iframe 里也不存在跨域问题。只有在 a.com 里面去请求 c.com 的服务器的内容,且这个 c.com 服务器设置了禁止跨域才会。
    2. 这个世界的很多东西不是非黑即白,不是说我今天想吃饭,你就会想到我要吃几千的日料,我明确说了我只想要我提出的那几点功能,就算基本浏览器功能完成了,而不是说要把 electorn 的功能做得跟 chrome 浏览器一样完善,完全没这个必要。而我说的那几点,最多也就一两个星期的工作量,你网上可以查下资料就知道。所以可以不用一直纠缠这个,因为我说了我只需要简版的基本功能就行,并不需要造图书馆。
    3. 确实是没有这需求表上,但你想过没,为什么会有这个帖子,如果在开发计划表上,我就不会这么问了。我问的意思是寻求下大家的意见,如果这个产出带来的收益是比较大的,大家用起来都觉得很方便,不用频繁切换,那我觉得我问这个问题就值了。
    4. 同 1,渲染网页,是 chromium 做的事情,渲染.sy,是思源做的事情。这两个事情不混淆。两位大大很不容易,我很感谢他们的付出,我也是订阅会员,以后也会是。正是这样,我才希望这个产品做好,而不会因为开发人员少,就停止提出建议,这个不冲突吧。
    感谢讲解,我确实没有系统学习浏览器开发的细节,方向也不在这里,主要是备考试图应用一下知识点(实际上也没用上什么),也没有深入回去复习,确实存在不少错误
    EmptyLight
    @EmptyLight 主要我一看到很多字以为回答很多干货,但细看发现有点不对劲了,你说得太一本正经了 🤣
    iqeqsq
    @iqeqsq 要不是复习我都不乐意想这些东西,一直不用自然生疏了,还是多应用多反思
    EmptyLight
请输入回帖内容 ...

推荐标签 标签

  • WebComponents

    Web Components 是 W3C 定义的标准,它给了前端开发者扩展浏览器标签的能力,可以方便地定制可复用组件,更好的进行模块化开发,解放了前端开发者的生产力。

    1 引用 • 6 关注
  • IDEA

    IDEA 全称 IntelliJ IDEA,是一款 Java 语言开发的集成环境,在业界被公认为最好的 Java 开发工具之一。IDEA 是 JetBrains 公司的产品,这家公司总部位于捷克共和国的首都布拉格,开发人员以严谨著称的东欧程序员为主。

    181 引用 • 400 回帖 • 2 关注
  • 心情

    心是产生任何想法的源泉,心本体会陷入到对自己本体不能理解的状态中,因为心能产生任何想法,不能分出对错,不能分出自己。

    59 引用 • 369 回帖 • 1 关注
  • RYMCU

    RYMCU 致力于打造一个即严谨又活泼、专业又不失有趣,为数百万人服务的开源嵌入式知识学习交流平台。

    4 引用 • 6 回帖 • 54 关注
  • CentOS

    CentOS(Community Enterprise Operating System)是 Linux 发行版之一,它是来自于 Red Hat Enterprise Linux 依照开放源代码规定释出的源代码所编译而成。由于出自同样的源代码,因此有些要求高度稳定的服务器以 CentOS 替代商业版的 Red Hat Enterprise Linux 使用。两者的不同在于 CentOS 并不包含封闭源代码软件。

    238 引用 • 224 回帖
  • OAuth

    OAuth 协议为用户资源的授权提供了一个安全的、开放而又简易的标准。与以往的授权方式不同之处是 oAuth 的授权不会使第三方触及到用户的帐号信息(如用户名与密码),即第三方无需使用用户的用户名与密码就可以申请获得该用户资源的授权,因此 oAuth 是安全的。oAuth 是 Open Authorization 的简写。

    36 引用 • 103 回帖 • 19 关注
  • 快应用

    快应用 是基于手机硬件平台的新型应用形态;标准是由主流手机厂商组成的快应用联盟联合制定;快应用标准的诞生将在研发接口、能力接入、开发者服务等层面建设标准平台;以平台化的生态模式对个人开发者和企业开发者全品类开放。

    15 引用 • 127 回帖 • 4 关注
  • IPFS

    IPFS(InterPlanetary File System,星际文件系统)是永久的、去中心化保存和共享文件的方法,这是一种内容可寻址、版本化、点对点超媒体的分布式协议。请浏览 IPFS 入门笔记了解更多细节。

    21 引用 • 245 回帖 • 240 关注
  • H2

    H2 是一个开源的嵌入式数据库引擎,采用 Java 语言编写,不受平台的限制,同时 H2 提供了一个十分方便的 web 控制台用于操作和管理数据库内容。H2 还提供兼容模式,可以兼容一些主流的数据库,因此采用 H2 作为开发期的数据库非常方便。

    11 引用 • 54 回帖 • 654 关注
  • Oracle

    Oracle(甲骨文)公司,全称甲骨文股份有限公司(甲骨文软件系统有限公司),是全球最大的企业级软件公司,总部位于美国加利福尼亚州的红木滩。1989 年正式进入中国市场。2013 年,甲骨文已超越 IBM,成为继 Microsoft 后全球第二大软件公司。

    105 引用 • 127 回帖 • 374 关注
  • Unity

    Unity 是由 Unity Technologies 开发的一个让开发者可以轻松创建诸如 2D、3D 多平台的综合型游戏开发工具,是一个全面整合的专业游戏引擎。

    25 引用 • 7 回帖 • 162 关注
  • Netty

    Netty 是一个基于 NIO 的客户端-服务器编程框架,使用 Netty 可以让你快速、简单地开发出一个可维护、高性能的网络应用,例如实现了某种协议的客户、服务端应用。

    49 引用 • 33 回帖 • 24 关注
  • jQuery

    jQuery 是一套跨浏览器的 JavaScript 库,强化 HTML 与 JavaScript 之间的操作。由 John Resig 在 2006 年 1 月的 BarCamp NYC 上释出第一个版本。全球约有 28% 的网站使用 jQuery,是非常受欢迎的 JavaScript 库。

    63 引用 • 134 回帖 • 720 关注
  • API

    应用程序编程接口(Application Programming Interface)是一些预先定义的函数,目的是提供应用程序与开发人员基于某软件或硬件得以访问一组例程的能力,而又无需访问源码,或理解内部工作机制的细节。

    77 引用 • 430 回帖
  • 程序员

    程序员是从事程序开发、程序维护的专业人员。

    572 引用 • 3533 回帖
  • sts
    2 引用 • 2 回帖 • 195 关注
  • GraphQL

    GraphQL 是一个用于 API 的查询语言,是一个使用基于类型系统来执行查询的服务端运行时(类型系统由你的数据定义)。GraphQL 并没有和任何特定数据库或者存储引擎绑定,而是依靠你现有的代码和数据支撑。

    4 引用 • 3 回帖 • 7 关注
  • 钉钉

    钉钉,专为中国企业打造的免费沟通协同多端平台, 阿里巴巴出品。

    15 引用 • 67 回帖 • 336 关注
  • Shell

    Shell 脚本与 Windows/Dos 下的批处理相似,也就是用各类命令预先放入到一个文件中,方便一次性执行的一个程序文件,主要是方便管理员进行设置或者管理用的。但是它比 Windows 下的批处理更强大,比用其他编程程序编辑的程序效率更高,因为它使用了 Linux/Unix 下的命令。

    123 引用 • 74 回帖 • 1 关注
  • JRebel

    JRebel 是一款 Java 虚拟机插件,它使得 Java 程序员能在不进行重部署的情况下,即时看到代码的改变对一个应用程序带来的影响。

    26 引用 • 78 回帖 • 672 关注
  • Chrome

    Chrome 又称 Google 浏览器,是一个由谷歌公司开发的网页浏览器。该浏览器是基于其他开源软件所编写,包括 WebKit,目标是提升稳定性、速度和安全性,并创造出简单且有效率的使用者界面。

    62 引用 • 289 回帖 • 1 关注
  • OpenResty

    OpenResty 是一个基于 NGINX 与 Lua 的高性能 Web 平台,其内部集成了大量精良的 Lua 库、第三方模块以及大多数的依赖项。用于方便地搭建能够处理超高并发、扩展性极高的动态 Web 应用、Web 服务和动态网关。

    17 引用 • 37 关注
  • 招聘

    哪里都缺人,哪里都不缺人。

    190 引用 • 1057 回帖
  • Kafka

    Kafka 是一种高吞吐量的分布式发布订阅消息系统,它可以处理消费者规模的网站中的所有动作流数据。 这种动作(网页浏览,搜索和其他用户的行动)是现代系统中许多功能的基础。 这些数据通常是由于吞吐量的要求而通过处理日志和日志聚合来解决。

    36 引用 • 35 回帖
  • React

    React 是 Facebook 开源的一个用于构建 UI 的 JavaScript 库。

    192 引用 • 291 回帖 • 373 关注
  • 百度

    百度(Nasdaq:BIDU)是全球最大的中文搜索引擎、最大的中文网站。2000 年 1 月由李彦宏创立于北京中关村,致力于向人们提供“简单,可依赖”的信息获取方式。“百度”二字源于中国宋朝词人辛弃疾的《青玉案·元夕》词句“众里寻他千百度”,象征着百度对中文信息检索技术的执著追求。

    63 引用 • 785 回帖 • 171 关注
  • SQLServer

    SQL Server 是由 [微软] 开发和推广的关系数据库管理系统(DBMS),它最初是由 微软、Sybase 和 Ashton-Tate 三家公司共同开发的,并于 1988 年推出了第一个 OS/2 版本。

    21 引用 • 31 回帖 • 3 关注