JavaScript小书签是否需要是有效的URL?

时间:2010-03-03 05:13:45

标签: javascript url protocols bookmarklet

我已经四处寻找,但我找不到任何有关此事的信息;也许我没有使用最好的搜索字词。

JavaScript书签 - 即使用“javascript:”伪协议的链接,可以拖到浏览器的地址栏并在任何页面上打开 - 是否需要是有效的URL?我听说它确实如此,但我想找到一个确定的答案。

Google阅读器有一个“Note in Reader”书签,它使用以下JavaScript代码:

javascript:var%20b=document.body;var%20GR________bookmarklet_domain='http://www.google.com';if(b&&!document.xmlVersion){void(z=document.createElement('script'));void(z.src='http://www.google.com/reader/ui/link-bookmarklet.js');void(b.appendChild(z));}else{}

编码空格(%20)似乎是努力遵守有效的URL,但是是大括号和分号,例如,有效的URL字符?

如果答案是肯定的,我是否可以使用JavaScript函数或在线实用程序在一个步骤中将我的bookmarklet设为有效的URL? JavaScript有encodeURI,但它也会编码括号,花括号等。

2 个答案:

答案 0 :(得分:1)

你的问题的答案是肯定的,(但是,像Firefox这样的浏览器会自动逃避像空格这样的事情)如果你想这样做,一个好的工具就是John Gruber's Javascript Bookmarklet Perl Script (yeah, the Markdown guy!)

答案 1 :(得分:0)

我做了一些bookmarklet,我不记得像这样对它们进行编码。所以我认为没有必要(但某些浏览器可能需要,比如IE)