使用 Bookmarklet 获取当前网页的 Markdown 地址

更新日期: 2017-02-25 阅读次数: 7582 分类: 浏览器

使用 markdown 记录笔记,最痛苦的地方莫过于写引用地址,既要复制对应网页的 title, 又要复制其 URL。

之前写过一个 chrome 插件用于生成当前页面的 markdown 地址,但是由于没有上传到插件商店,跨电脑没有办法同步,所以废弃了。之后又打算使用 greasemonkey 写个脚本,奈何 greasemonkey 做点击触发非常不方便

  • 不做点击按钮触发,每次页面加载之后都弹窗出个提示框太碍事
  • 做点击按钮触发,会破坏当前页面的原始效果

后来想到,之前见过浏览器书签可以写 js 的做法,是否可以使用书签的方式实现。Google 了一下,果然可以。

即,bookmarklet, 中文翻译是"小书签", 代码格式如下

javascript:(function(){
	// TODO
})();

例如,提取当前页面的 markdown 地址

javascript:(function(){
	var title = document.getElementsByTagName("title")[0].innerHTML;
	var url = window.location.href;
	alert('[' + title + '](' + url + ')');
})();

新建一个书签,把这段 js 代码保存到地址栏中即可。在 firefox 中测试成功。

Firefox Bookmarklet Alert

HTTPS fails

需要注意的是,对于使用 HTTPS 的网页,bookmarklet does't work.

但并不绝对,有点 https 网页还是能获取到。感觉 HTTPS 还是有安全等级之分。

如何管理 bookmarklet

还是专门建个 github 项目集中管理比较方便

sunzhongwei/bookmarklets

参考

关于作者 🌱

我是来自山东烟台的一名开发者,有敢兴趣的话题,或者软件开发需求,欢迎加微信 zhongwei 聊聊, 查看更多联系方式