为什么小书签使用 iframe?

Why do bookmarklets use iframes?

在对 bit.ly 和 delicious 书签进行逆向工程后,我注意到它们都创建了 iframe。

这是为了让小书签能够访问用户的信息。我看不到小书签会知道谁在创建小书签的任何其他方式。

但两者都有规律可循。 Bookmarklet 只是一个调用实际脚本的愚蠢占位符。这样小书签就可以更新,因为拖入书签栏的代码是永久性的。

随后调用的代码通过将 url 指定为 bitty 或 delicious 来创建和 iframe,其中还包含要保存的信息的 GET 参数。

提到的小书签可能正在使用 iframe,因为这样它们就可以专门设计样式并包含 JavaScript,这与网站的 JavaScript 不冲突。

GET 参数用于在没有跨框架脚本保护的情况下将所需数据从父级传输到子级window。