在保存书签之前停止safari评估document.location(favelet)

时间:2009-08-14 09:57:11

标签: javascript safari bookmarklet

我创建了一个非常简单的书签,用于将当前正在查看的网站的网址提交给脚本:

javascript:document.location%20=%20'http://www.example.com/script?user=___&key=___&url='+document.location

我将此作为HTML页面上的链接提供,用户可以将其拖到他或她的书签工具栏或任何地方。遗憾的是,在创建书签之前,Safari似乎只评估了JS,因此提交的URL始终是我显示链接的页面。

如何解决此问题,阻止Safari在收藏之前评估document.location,而不会破坏其他浏览器?我宁愿避免为Safari安装单独的书签。

谢谢!

马拉

1 个答案:

答案 0 :(得分:0)

我 - 相信 - 答案是用escape()简单地包围评估的部分:

[...]&url='+escape(document.location)

目前无法访问mac / safari,所以我无法确定它是否有效......