iOS平台下如何添加Safari书签?含WebView网页书签扩展需求
实现向Safari书签添加任意WebView网页的方法(个人私密方案)
嘿,这个需求完全可以搞定!作为经常折腾Safari自定义工具的人,我给你几个适合个人私密使用的方案,从无代码到轻度开发都有:
方案1:无代码快捷指令(最推荐,适合所有人)
这是个人用最方便私密的方式,不需要任何开发技能:
- 打开苹果自带的「快捷指令」App,新建一个空白快捷指令
- 添加「获取共享的内容」动作,确保只勾选「URL」选项
- 接着添加「添加到Safari书签」动作,你可以设置默认的书签文件夹(比如「个人收藏」),还能自定义书签标题
- 给这个快捷指令起个好记的名字(比如「一键加Safari书签」),然后在快捷指令的设置里开启「在分享菜单中显示」
- 之后不管是在Safari里,还是其他App的WebView(比如微信、知乎里的网页),只要点击页面的分享按钮,选择这个快捷指令,就能一键把当前网页的URL添加到Safari书签里了
这个方法完全免费、私密,所有操作都在你自己的设备上完成,不用担心数据泄露。
方案2:个人专属Safari扩展(适合有开发基础的用户)
如果想要更集成的体验(比如在Safari工具栏加个一键按钮),可以自己开发一个极简的Safari扩展,而且因为是个人用,不用上架App Store:
- 打开Xcode,新建一个「Safari Extension App」项目
- 在扩展的
SafariExtensionHandler.swift文件里,实现页面加载完成后的URL获取逻辑,比如:override func pageDidFinishLoading(in page: SFSafariPage) { page.getPropertiesWithCompletionHandler { properties in guard let url = properties?.url, let title = properties?.title else { return } // 这里添加书签逻辑 SFSafariApplication.addBookmark(with: url, title: title) { error in if let error = error { print("添加书签失败:\(error)") } } } } - 在扩展的
Info.plist里配置工具栏按钮的图标和名称,这样在Safari里就能看到你的专属按钮了 - 用自己的Apple ID给项目签名,直接部署到你的iPhone或Mac上就行,完全是个人私密使用
注意:这个扩展只能处理Safari浏览器内的网页,受限于苹果的沙盒机制,无法直接获取其他App WebView里的内容——这时候方案1的分享方式依然是最优解。
方案3:Mac专属AppleScript脚本
如果你只用Mac,还可以用AppleScript做一个快速添加书签的服务:
- 打开「脚本编辑器」,输入这段代码:
on run {input, parameters} set targetURL to item 1 of input tell application "Safari" add bookmark targetURL to bookmarks menu with title (do shell script "curl -s " & quoted form of targetURL & " | grep -o '<title>.*</title>' | sed 's/<title>//;s/<\\/title>//'") end tell return input end run - 把脚本保存为「应用程序」格式,然后去「系统设置-键盘-快捷键-服务」里,添加这个脚本作为服务,再设置一个顺手的快捷键
- 之后在任意Mac应用的WebView里复制网页URL,按下快捷键,脚本会自动获取网页标题并添加到Safari书签里
内容的提问来源于stack exchange,提问作者ijverig




