我做了一款既不支持 JS 也不支持 CSS 的浏览器 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
爱意满满的作品展示区。
daen
V2EX    分享创造

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

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

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

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

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

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

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

    技术上由于舍弃了 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 好像也支持
    zackwu
        3
    zackwu  
       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
    感觉类似于浏览器的阅读模式
    sz065vHi2V1c6LKP
      &nbp; 6
    sz065vHi2V1c6LKP  
       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 怎么办呀?
    div id="r_9169154" class="cell">
    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  
    PRO
       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     Solana     2513 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 26ms UTC 11:16 PVG 19:16 LAX 04:16 JFK 07:16
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86