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

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

@88250 @Vanessa

  • 思源笔记

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

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

    23014 引用 • 92568 回帖

相关帖子

欢迎来到这里!

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

注册 关于
请输入回帖内容 ...
  • iqeqsq
  • 其他回帖
  • 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
  • EmptyLight 2

    这里说下我的想法:

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

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

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

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

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

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

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

    1 回复
  • EmptyLight 1

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

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

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

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

    1 回复
  • 查看全部回帖

推荐标签 标签

  • 知乎

    知乎是网络问答社区,连接各行各业的用户。用户分享着彼此的知识、经验和见解,为中文互联网源源不断地提供多种多样的信息。

    10 引用 • 66 回帖
  • JavaScript

    JavaScript 一种动态类型、弱类型、基于原型的直译式脚本语言,内置支持类型。它的解释器被称为 JavaScript 引擎,为浏览器的一部分,广泛用于客户端的脚本语言,最早是在 HTML 网页上使用,用来给 HTML 网页增加动态功能。

    728 引用 • 1273 回帖 • 1 关注
  • 外包

    有空闲时间是接外包好呢还是学习好呢?

    26 引用 • 232 回帖
  • Bootstrap

    Bootstrap 是 Twitter 推出的一个用于前端开发的开源工具包。它由 Twitter 的设计师 Mark Otto 和 Jacob Thornton 合作开发,是一个 CSS / HTML 框架。

    18 引用 • 33 回帖 • 667 关注
  • IBM

    IBM(国际商业机器公司)或万国商业机器公司,简称 IBM(International Business Machines Corporation),总公司在纽约州阿蒙克市。1911 年托马斯·沃森创立于美国,是全球最大的信息技术和业务解决方案公司,拥有全球雇员 30 多万人,业务遍及 160 多个国家和地区。

    17 引用 • 53 回帖 • 140 关注
  • 智能合约

    智能合约(Smart contract)是一种旨在以信息化方式传播、验证或执行合同的计算机协议。智能合约允许在没有第三方的情况下进行可信交易,这些交易可追踪且不可逆转。智能合约概念于 1994 年由 Nick Szabo 首次提出。

    1 引用 • 11 回帖 • 2 关注
  • Electron

    Electron 基于 Chromium 和 Node.js,让你可以使用 HTML、CSS 和 JavaScript 构建应用。它是一个由 GitHub 及众多贡献者组成的活跃社区共同维护的开源项目,兼容 Mac、Windows 和 Linux,它构建的应用可在这三个操作系统上面运行。

    15 引用 • 136 回帖 • 1 关注
  • Kotlin

    Kotlin 是一种在 Java 虚拟机上运行的静态类型编程语言,由 JetBrains 设计开发并开源。Kotlin 可以编译成 Java 字节码,也可以编译成 JavaScript,方便在没有 JVM 的设备上运行。在 Google I/O 2017 中,Google 宣布 Kotlin 成为 Android 官方开发语言。

    19 引用 • 33 回帖 • 63 关注
  • Git

    Git 是 Linux Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件。

    209 引用 • 358 回帖
  • 架构

    我们平时所说的“架构”主要是指软件架构,这是有关软件整体结构与组件的抽象描述,用于指导软件系统各个方面的设计。另外还有“业务架构”、“网络架构”、“硬件架构”等细分领域。

    142 引用 • 442 回帖 • 1 关注
  • 工具

    子曰:“工欲善其事,必先利其器。”

    288 引用 • 734 回帖 • 2 关注
  • 大疆创新

    深圳市大疆创新科技有限公司(DJI-Innovations,简称 DJI),成立于 2006 年,是全球领先的无人飞行器控制系统及无人机解决方案的研发和生产商,客户遍布全球 100 多个国家。通过持续的创新,大疆致力于为无人机工业、行业用户以及专业航拍应用提供性能最强、体验最佳的革命性智能飞控产品和解决方案。

    2 引用 • 14 回帖 • 2 关注
  • HTML

    HTML5 是 HTML 下一个的主要修订版本,现在仍处于发展阶段。广义论及 HTML5 时,实际指的是包括 HTML、CSS 和 JavaScript 在内的一套技术组合。

    107 引用 • 295 回帖
  • 导航

    各种网址链接、内容导航。

    42 引用 • 175 回帖
  • TensorFlow

    TensorFlow 是一个采用数据流图(data flow graphs),用于数值计算的开源软件库。节点(Nodes)在图中表示数学操作,图中的线(edges)则表示在节点间相互联系的多维数据数组,即张量(tensor)。

    20 引用 • 19 回帖 • 1 关注
  • 阿里云

    阿里云是阿里巴巴集团旗下公司,是全球领先的云计算及人工智能科技公司。提供云服务器、云数据库、云安全等云计算服务,以及大数据、人工智能服务、精准定制基于场景的行业解决方案。

    89 引用 • 345 回帖 • 1 关注
  • GitHub

    GitHub 于 2008 年上线,目前,除了 Git 代码仓库托管及基本的 Web 管理界面以外,还提供了订阅、讨论组、文本渲染、在线文件编辑器、协作图谱(报表)、代码片段分享(Gist)等功能。正因为这些功能所提供的便利,又经过长期的积累,GitHub 的用户活跃度很高,在开源世界里享有深远的声望,并形成了社交化编程文化(Social Coding)。

    210 引用 • 2036 回帖
  • 钉钉

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

    15 引用 • 67 回帖 • 335 关注
  • Jenkins

    Jenkins 是一套开源的持续集成工具。它提供了非常丰富的插件,让构建、部署、自动化集成项目变得简单易用。

    53 引用 • 37 回帖 • 3 关注
  • Gitea

    Gitea 是一个开源社区驱动的轻量级代码托管解决方案,后端采用 Go 编写,采用 MIT 许可证。

    4 引用 • 16 回帖
  • Spark

    Spark 是 UC Berkeley AMP lab 所开源的类 Hadoop MapReduce 的通用并行框架。Spark 拥有 Hadoop MapReduce 所具有的优点;但不同于 MapReduce 的是 Job 中间输出结果可以保存在内存中,从而不再需要读写 HDFS,因此 Spark 能更好地适用于数据挖掘与机器学习等需要迭代的 MapReduce 的算法。

    74 引用 • 46 回帖 • 559 关注
  • Wide

    Wide 是一款基于 Web 的 Go 语言 IDE。通过浏览器就可以进行 Go 开发,并有代码自动完成、查看表达式、编译反馈、Lint、实时结果输出等功能。

    欢迎访问我们运维的实例: https://wide.b3log.org

    30 引用 • 218 回帖 • 635 关注
  • CloudFoundry

    Cloud Foundry 是 VMware 推出的业界第一个开源 PaaS 云平台,它支持多种框架、语言、运行时环境、云平台及应用服务,使开发人员能够在几秒钟内进行应用程序的部署和扩展,无需担心任何基础架构的问题。

    5 引用 • 18 回帖 • 172 关注
  • 自由行
    4 关注
  • Markdown

    Markdown 是一种轻量级标记语言,用户可使用纯文本编辑器来排版文档,最终通过 Markdown 引擎将文档转换为所需格式(比如 HTML、PDF 等)。

    167 引用 • 1520 回帖
  • gRpc
    11 引用 • 9 回帖 • 69 关注
  • Sym

    Sym 是一款用 Java 实现的现代化社区(论坛/BBS/社交网络/博客)系统平台。

    下一代的社区系统,为未来而构建

    524 引用 • 4601 回帖 • 700 关注