豆瓣电脑版:Mac 和 Windows 上怎么用
豆瓣没有官方的 Mac 或 Windows 客户端,它自己的页面上只给手机客户端的二维码,电脑上用的是 douban.com 网页版,Apple 芯片的 Mac 上还能运行它的 iPhone 版。用 Pake 可以把网页版做成一个独立窗口,movie.douban.com、book.douban.com 这些子站也都留在窗口里,当然也可以继续用浏览器打开豆瓣。
豆瓣在电脑上提供什么
| 在哪里 | 用来做什么 | |
|---|---|---|
| 网页版 | www.douban.com | 整个社区,小组、日记、广播都在这里 |
| 书影音 | movie.douban.com、book.douban.com、music.douban.com 等子站 | 看评分和短评,标记看过和读过的 |
| 手机客户端 | App Store 页面和 Android 版 | 手机上用的豆瓣 |
| Apple 芯片的 Mac | 同一个 iPhone 版,放在 Mac 上运行 | 还是手机版,不是 Mac 版 |
豆瓣的关于页里「下载豆瓣客户端」对应的是一个扫码下载框,给了 iPhone 和 Android 的入口,移动版页面只有扫码下载的二维码,两处都没有提到 Mac 或 Windows 版本,和 App Store 上看到的一致。
App Store 页面上的豆瓣由北京豆网科技有限公司提供,是 iPhone 和 iPad 应用,兼容性一栏里也列了 Mac,要求 macOS 12.0 或更高版本以及 Apple M1 或更高版本的芯片,所以它能装在 Apple 芯片的 Mac 上,装的是手机版,不是为电脑专门做的版本。豆瓣阅读是另一个独立的应用,提供者是另一家公司,不在本文范围里。
Intel Mac 和 Windows 电脑不在这条说明的范围里,只剩网页版可用,Pake 应用可以把它从浏览器标签页里拿出来。macOS 14 及以上的 Intel Mac 也在 Pake 的支持范围里。
Pake 的窗口到底是什么
Pake 应用是一个很小的程序,用系统自带的网页视图打开一个地址,Mac 上是 WKWebView,Windows 上是 Microsoft Edge WebView2,豆瓣的页面本身不会被改动,网站看到的是和 Safari 或 Edge 同一系的浏览器引擎,Cookie 和网站数据由应用自己保存,和浏览器分开。
下面大部分现象都能由此解释。登录能保持,是因为应用在两次启动之间留着 Cookie,指向其他网站的链接会在浏览器里打开,是因为 Pake 按地址判断哪些链接留在窗口里。豆瓣那边的事 Pake 管不了,比如某个功能只在手机客户端里有。
为什么豆瓣的子站要单独讲
豆瓣不是一个地址,首页和小组在 www.douban.com 上,电影、读书和音乐各有自己的主机,都在 douban.com 下面,从一个点到另一个,应用得决定新页面在窗口里打开,还是交给浏览器。
默认情况下 Pake 拿点击的链接和当前页面的地址比较,主机相同,或者两个主机的根域名相同(普通域名取主机名最后两段),链接就留在窗口里。从 https://www.douban.com/ 做出来的应用,点到 movie.douban.com 或 book.douban.com,两边的根域名都是 douban.com,所以留在窗口里,指向其他域名的链接则在浏览器里打开。
只用某一个子站的话,可以用一个正则表达式把规则收窄,完整网址符合它的链接留在应用内,其他的都交给浏览器。Windows 版在高级里的内部链接正则设置,Mac 版只在应用已经设过正则时才显示这一栏,CLI 里对应的是 --internal-url-regex,见 CLI 文档,设置之后它优先于默认的域名匹配。
用 Pake 桌面版做出来
豆瓣不在精选里,所以没有调好设置的现成应用。不过应用认识这个地址,Pake 网站的已适配网站列表在社交里有 douban.com,粘贴豆瓣的网址就会带上名字和图标。
在创建页的粘贴网址或搜索下面应用开始创建里粘贴 https://www.douban.com/,想改窗口大小就调一下默认尺寸,再点创建应用,每个选项的说明见创建应用。
登录,并保持登录
豆瓣的登录页给哪种方式就用哪种,提供什么由它自己决定,也会变,Pake 只是窗口,不参与登录,所以这里不列固定的方式。
要记住登录,应用就得留着 Cookie。无痕浏览每次都从干净的会话开始,不保留登录和网站数据,默认是关的,保持关闭就行,Mac 版只在应用已经开着无痕浏览时才显示这个开关。登录之后正常退出应用再打开,确认还处于登录状态,不要用强制退出来测。
在 Mac 上,根据 Pake CLI 常见问题,Pake 应用里用不了通行密钥和触控 ID 登录,账号如果是这样设置的,就改用密码。Windows 上登录弹窗没有反应的话,在运行偏好里打开新窗口在应用内打开,弹窗会作为应用内的一个窗口保留下来,Mac 和 Linux 上的登录弹窗本来就会在应用自己的窗口里打开,只有通过 Apple 登录仍然弹出单独的窗口。
可能出什么问题
页面出现了普通网站没有的登录拦截或浏览器提示,先比一下 User Agent,默认值在 Mac 上是 Safari 的,在 Windows 上是 Chrome 的,可以在高级的 User Agent 里改,User Agent 的说明讲了什么时候有用。
链接跑去浏览器打开,而你想让它留在应用里,要么它指向 douban.com 之外,要么是你设的内部链接正则没有匹配上它,先看一下这条规则,只为你信任的地址去改。
编辑之后打开的页面不对的话,在我的应用里改了网址会清掉应用上次记住的页面,见手册,除此之外点编辑再点保存修改,只是在原处重新安装同一个应用并保留登录。
第二个账号是另一件事,我的应用里的添加另一个账号会用新名字复制一份应用,一开始是未登录的,见同一个网站的两个账号。
什么时候用别的更合适
Apple 芯片的 Mac 上想要手机那一套体验,包括网页版没有的功能,就用 iPhone 版,那是豆瓣自己维护的版本。只是偶尔看看的话,用浏览器就够了,单独做一个应用只是多一个图标和一份单独的 Cookie,收益不大。每天都要刷豆瓣,想让它有自己的窗口和程序坞或开始菜单图标,用的又是装不了手机版的 Mac 或 Windows 电脑,这时候做一份 Pake 应用才划算。
用 CLI 打包
按快速上手配好 CLI 之后:
pake https://www.douban.com/ --name Douban
CLI 做出来的网页应用重新打开时会回到上次停留的页面,加 --no-restore-last-url 就每次从打包时的网址开始,同时保留 Cookie 和登录。窗口尺寸等参数见 CLI 参数说明,通用的做法见在 Mac 上把网站做成应用。
常见问题
豆瓣有 Mac 或 Windows 官方客户端吗
豆瓣自己的页面只提到手机客户端,App Store 上是 iPhone 版,Apple 芯片的 Mac 也能运行它。
movie.douban.com 会在应用里打开吗
按默认规则,从 douban.com 下的页面点过去,会,因为两边的根域名相同。
重启电脑后还会保持登录吗
只要无痕浏览是关的,并且正常关闭应用,通常会,重启后打开一次确认,豆瓣自己的登录有效期由它决定。
