简介
插件开启之后,在文档中选中文字会自动打开外部浏览器搜索。
目前只支持文档选中搜索,不支持笔记、标注、脑图等。
下面分别提供了搜索引擎为Google、百度或者欧路词典app的版本供下载。也可按需要将main.js
里的baseUrl
自行修改为其他网站(需要网址)或者App(需要app的URL Scheme),可参考现有“研究”功能的自定义url。
自定义方法请看这一楼
请注意及时关闭插件,否则选中一次就会打开一次浏览器,你会疯的。
插件下载
Google搜索引擎
reresearch_Google_0.1.mnaddon (5.8 KB)
墙内可用Baidu搜索引擎
reresearch_Baidu_0.1.mnaddon (5.8 KB)
其实最有启发性的是这个:自动欧路词典app内搜索
reresearch_Eudic_0.1.mnaddon (5.8 KB)
自动在德语助手app内搜索
reresearch_Eudic_0.1.mnaddon (5.8 KB)
以上插件不可共用。使用前请打开“允许加载未认证插件”
动机
起因是看到了 Xiamumu的这个帖子 ,聊这个我就不困了。
点击文档内的超链接一直都会在“研究”窗口打开,需要再多按一次才能打开Safari,很不方便。
开放插件功能后其实我有在尝试做一个超链接直接用外部浏览器打开的小插件。但是由于以下原因搁置了:
1)没有开发文档,不知道MN内响应打开链接的是哪个通知;
2)即使有开发文档,即使我可以直接用外部浏览器打开链接,但是并不能禁用原本在MN内浏览器打开网页这个默认操作(我猜的,在初期给插件这么嚣张的权限肯定不合适)。
看到上文帖子里的需求正好跟我之前的尝试有重叠,所以就先做了。跟之前的InstantCopy一样,依然是代码上很简单的小插件。
为什么叫ReResearch
其实这个插件的功能跟MarginNote自带的“Research”功能非常相似,所以开玩笑叫ReResearch。
只有两个区别:
1)网页是在外部(浏览器或者app)打开的;
2)支持其他App的URL Scheme.
其实最合理的做法是未来开发组在MarginNote的“研究”功能多加一个允许默认外部打开的设置。
为什么不支持脑图、摘要、笔记?
很惭愧,因为主要把MN当成带翻译功能的pdf阅读器在用,很少用到脑图、笔记等功能,所以其实我分不清什么是笔记什么是摘要什么是标题什么是注释什么是卡片,更不用说开发了。
但是有了这个简单的版本做参考,支持其他模式也很容易,欢迎随意修改。
不足
开发文档其实还没开发,只能基于官方插件摸索,这个插件现在还很不灵活。
一方面特别暴力,选中任何文字都会直接打开浏览器搜索。其实很有必要加一些前提条件,比如最简单的颜色判断,但是现在颜色是哪个属性值都还未知。
我最希望是的开放摘录弹出菜单的部分权限,这样可以主动选择是否打开外部浏览器,而且操作跟选颜色一样简单。
另一方面,要修改搜索引擎/URL Scheme只能在代码里修改baseUrl
变量。理想/成熟状况下插件应该有自己的偏好设置界面。目前还不知道是否会有插件偏好设置或者如何设置。软件的设置界面已经很丰富了,插件设置也塞进去将会很可怕。
我建议可以考虑给插件唯一的那个按钮实现短按激活、长按设置。当然我就这么一说。
开发问题
现在用的还是旧的openURL
方法,该方法已被废弃,新方法为openURL:options:completionHandler:
。主要问题是不知道如何使用JSB调用这个方法,只能等有时间再研究了。很可惜我对iOS开发的认知还停留在iOS7时代。