V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
爱意满满的作品展示区。
daen
V2EX  ›  分享创造

我做了一款既不支持 JS 也不支持 CSS 的浏览器

  •  
  •   daen ·
    EnObj · 2020-06-27 18:23:13 +08:00 · 6556 次点击
    这是一个创建于 1608 天前的主题,其中的信息可能已经有所发展或是发生改变。

    说是浏览器其实只是一个静态页面阅读器

    因为平时喜欢使用浏览器看一些网文,日记博客等;

    但是常常被站点内一些透明广告、奇怪的样式搞得没有兴致;

    因此就自己动手写了个小程序来解决这个痛点。

    它和正宗浏览器最大的不同是只专注于展示图文类的静态站点页面

    技术上由于舍弃了 js 和 css 引擎,直接平铺图文内容,并从 html 结构上自动识别出段落信息。

    在几次迭代过程中也加入了一些实用功能,比如:

    1. 一键拷贝页面内所有文字;
    2. 一键下载页面内所有图片;
    3. 自定义视图(需要具备一点正则表达式的相关知识);
    4. 提供给第三方小程序跳转打开静态图文页面。

    大家感兴趣的话可以扫码体验:

    场宁浏览器 @小程序

    使用方式:

    1. 从任意位置复制网页链接地址;
    2. 微信搜索“场宁浏览器”粘贴打开即可。

    欢迎大家体验后留言讨论。

    第 1 条附言  ·  2023-02-10 16:51:13 +08:00

    小程序被平台封禁,如感兴趣欢迎体验h5版本:https://enobj.cn/reader/index.html#/

    43 条回复    2020-07-02 17:17:23 +08:00
    delectate
        1
    delectate  
       2020-06-27 18:56:47 +08:00
    w3m:喵喵喵?
    systemcall
        2
    systemcall  
       2020-06-27 19:01:14 +08:00
    @delectate w3m 只是不支持图片而已,css 似乎是支持的,js 好像也支持
    keith1126
        3
    keith1126  
       2020-06-27 19:58:31 +08:00
    试了一下,挺不错的,特别是输入网址的辅助提示,很用心了
    daen
        4
    daen  
    OP
       2020-06-27 20:32:41 +08:00 via iPhone   ❤️ 1
    @keith1126 谢谢,那个还是一位热心用户给的建议,我也觉得是非常实用的小细节
    Telegram
        5
    Telegram  
       2020-06-27 22:03:04 +08:00   ❤️ 1
    感觉类似于浏览器的阅读模式
    gushu
        6
    gushu  
       2020-06-27 22:15:26 +08:00
    感觉不错。有没有可能做成 app 呢。
    loading
        7
    loading  
       2020-06-27 22:19:28 +08:00 via Android   ❤️ 2
    小程序是 js 驱动的,所以你这个是跑在 js 下的不支持 js 的浏览器?
    daen
        8
    daen  
    OP
       2020-06-27 22:28:18 +08:00 via iPhone
    @Telegram 是的,出发点是类似的,能专注于浏览大块的核心内容
    daen
        9
    daen  
    OP
       2020-06-27 22:30:22 +08:00 via iPhone
    @gushu 也想过,但无奈本人没有 app 开发经验
    daen
        10
    daen  
    OP
       2020-06-27 22:36:09 +08:00 via iPhone
    @loading 小程序的 js 引擎与传统浏览器内的客户端 js 不同;我这个事实上是走的服务端解析的,走客户端平台要求配置域名白名单
    ruby0906
        11
    ruby0906  
       2020-06-27 23:05:29 +08:00
    只要是创新的想法,都值得支持。。加油楼主~
    daen
        12
    daen  
    OP
       2020-06-28 09:05:58 +08:00 via iPhone
    @ruby0906 谢谢支持❤️
    zoikhemlab
        13
    zoikhemlab  
       2020-06-28 09:32:14 +08:00
    ajax 怎么办呀?
    daen
        14
    daen  
    OP
       2020-06-28 09:38:53 +08:00 via iPhone
    @zoikhemlab 没 JS 引擎的话,ajax 也支持不了了,因此这个应用主要面向静态页面
    yangheng4922
        15
    yangheng4922  
       2020-06-28 09:47:41 +08:00
    如果页面内容是 ajax 加载后的内容是不是就显示不了了
    ygtq
        16
    ygtq  
       2020-06-28 09:52:31 +08:00
    lz 有标题党的嫌疑哦~,看标题以为是真的做了个浏览器程序... 其实就是一个小程序,把用户输入的 url 地址丢给后端去解析出图文再返回然后显示出来的意思?
    daen
        17
    daen  
    OP
       2020-06-28 10:07:49 +08:00 via iPhone
    @yangheng4922 是的
    daen
        18
    daen  
    OP
       2020-06-28 10:13:52 +08:00 via iPhone
    @daen 是这个流程,在后端代理;标题是认真想的,没相当就入党了,哈哈😄
    no1xsyzy
        19
    no1xsyzy  
       2020-06-28 10:27:02 +08:00
    和 Pocket/Instapaper 之类差不多吧,就是不保存直接贴内容了。
    可以想见的缺点:1 、透明字符防复制水印侵入式突出; 2 、嵌入 HTML 的广告侵入式突出; 3 、结构诡异的网页错误显示; 4 、字体防盗将导致乱码。
    daen
        20
    daen  
    OP
       2020-06-28 10:55:15 +08:00
    @no1xsyzy 结合历史访问列表,可以作为简易版的“稍后阅读”程序来使用;
    1,非核心内容(需要用户来判断)突出问题使用“视图技术”可以进行屏蔽;
    2,广告大部分都是依赖 js 的,事实上舍弃 js 就相当于拒绝大部分广告了;
    3,结构上主要是优先照顾大块的图文内容;
    4,这个“字体防盗导致乱码”不太理解,搜索了一下是🈯️使用图片代替文字的意思吗?
    no1xsyzy
        21
    no1xsyzy  
       2020-06-28 11:15:04 +08:00
    @daen #20
    1 、是已装载技术吗?我从来不用小程序的缘故并未使用;
    2 、确实,如果嵌入广告也要考虑那也要考虑软文的问题了…… 不过我更想指的是网站自己跳转自己的 “推荐页面” 或者 “热门” 之流,这个除了上机器学习;
    3 、犄角旮旯问题罢了,对于每个页面需要单独处理;
    4 、 /t/684269 这种,图片代替文字你这边随着图片自动嵌回就自动解决了吧……
    daen
        22
    daen  
    OP
       2020-06-28 12:07:41 +08:00 via iPhone
    @no1xsyzy 1,是位于客户端一个类似于浏览器插件的技术,目的就是屏蔽非核心内容;
    4,这种站长做过策略的页面目前应该处理不了,你有这样的站点吗分享一个看看。
    no1xsyzy
        23
    no1xsyzy  
       2020-06-28 12:50:04 +08:00
    @daen #22 4 、我手上没有…… 实现一个看上去并不存在技术上的困难,只不过要进行字体操作我不是很熟。
    sleepm
        24
    sleepm  
       2020-06-28 13:30:42 +08:00 via Android
    简悦 浏览器插件了解一下。。
    puzzle9
        25
    puzzle9  
       2020-06-28 13:35:04 +08:00
    支持一个 不过可能会有一个问题 我没有测试过 就是 小程序的页面历史最多是 10 层 然后
    designer
        26
    designer  
       2020-06-28 13:37:35 +08:00 via iPhone
    挺好的创意
    daen
        27
    daen  
    OP
       2020-06-28 13:57:40 +08:00 via iPhone
    @puzzle9 谢谢支持,10 层这个确实没想到好的办法,目前是到了第 10 页给个提示“关闭并重新打开”
    daen
        28
    daen  
    OP
       2020-06-28 13:59:43 +08:00 via iPhone
    @sleepm 浏览器插件确实是好东西,但是手机端好像不受支持吧
    CismonX
        29
    CismonX  
       2020-06-28 15:15:17 +08:00 via iPhone
    @systemcall #2 w3m 可以显示图片的,需要终端支持 sixel
    sleepm
        30
    sleepm  
       2020-06-28 15:19:45 +08:00
    daen
        31
    daen  
    OP
       2020-06-28 16:02:46 +08:00 via iPhone
    @sleepm 谢谢推荐,我之前没有接触过这个插件,刚才大致看了一下,感觉很厉害,而且又发现了一个 jsbox 工具感觉更是厉害👍
    sannyzeng
        32
    sannyzeng  
       2020-06-28 16:10:44 +08:00
    看起来怎么那么像以前的那种 2G 网络下的 WAP 站点??😲😲😲
    cxumol
        33
    cxumol  
       2020-06-28 16:10:59 +08:00 via Android   ❤️ 2
    标题浏览器,点开小程序。这个怎么没人吐槽?
    cxumol
        34
    cxumol  
       2020-06-28 16:16:25 +08:00 via Android
    微信已经是个成熟的操作系统了,已经有开发者做出了基于微信 OS 的浏览器
    daen
        35
    daen  
    OP
       2020-06-28 16:39:36 +08:00
    @cxumol 人家就是正经浏览器呀~欢迎随意吐槽哈~~
    这份需求始于我自己平常浏览器使用体验,当初被小程序的跨平台性和云开发所吸引,就果断选择了,独立 app 也想做的,但自己没有技术,目前正在学习中。
    daen
        36
    daen  
    OP
       2020-06-28 16:44:05 +08:00
    @sannyzeng 被你发现了~它就是从 10 年前穿越过来的,其实平常的 wap 阅读用 2g 也应该够了
    Ultraman
        37
    Ultraman  
       2020-06-28 16:45:21 +08:00 via Android
    emmm 我建个站
    Ultraman
        38
    Ultraman  
       2020-06-28 16:46:11 +08:00 via Android
    emmm 有心人建个站放上敏感内容然后用你的小程序去访问,你的小程序是不是就得凉?
    daen
        39
    daen  
    OP
       2020-06-28 17:04:02 +08:00   ❤️ 1
    @Ultraman 这是个很好的问题,坦白讲它确实经不住用户举报;
    当时提交时,审核人员就跟我提出了这个问题,表示打开的某些页面内容不符合小程序的“工具-信息查询”类目,我给的方案是后台使用黑白名单进行域名控制,并且向审核人员示范了几个热门站点,到最后也给过了;
    我现在想的是只要不是用户恶意举报,我会承担这个风险,况且是个人小程序,本身也不打算拿它盈利,但只要有用户使用,我都会运营下去的。
    Ultraman
        40
    Ultraman  
       2020-06-28 17:46:37 +08:00 via Android
    @daen 老哥好人。
    qilishasha
        41
    qilishasha  
       2020-06-29 12:43:51 +08:00 via iPhone
    哈哈哈哈哈 这才是大道化简 从入门到丢弃
    sivacohan
        42
    sivacohan  
       2020-07-02 10:33:31 +08:00
    建议你限制一下单个页面的最大流量。
    否则,可能会有人恶意构造请求,一个请求 1 个 G 的流量。你这边服务器可能扛不住。
    daen
        43
    daen  
    OP
       2020-07-02 17:17:23 +08:00 via iPhone
    @sivacohan 服务端直接用的小程序的云服务,云函数沙盒运行时自带内存和超时控制,所以我也就另外没有做控制,但是我现在想想还是做一下比较好,至少能节约计费资源,谢谢您的建议。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1803 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 26ms · UTC 16:27 · PVG 00:27 · LAX 08:27 · JFK 11:27
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.