小书签代码总是写成 href 属性值吗?

Is bookmarklet code always written as href attribute value?

如下代码所示,

<div id="content">
            Here is my <a href="javascript:(function(){ 
                                            _my_script=document.createElement('SCRIPT');_my_script.type='text/javascript';
                                            _my_script.src='file:///D:/Access/bookmark/bmlet.js';
                                            document.getElementsByTagName('head')[0].appendChild(_my_script);})();">
                                bookmarklet
                        </a>
        </div>

书签代码总是写成 href锚标签属性的值吗?

如果是,那不就相当于给onClick事件写了一个JavaScript回调吗?

A bookmarklet 是一个 javascript: 方案 URL,保存在浏览器书签中,因此它可以 运行 在任何页面上用户正在通过书签菜单访问它来查看。

为了将其存储在书签中,需要将其附加到 link,用户可以右键单击并选择 "Add to Bookmarks" 或将其拖放到书签工具栏上。

它在 onclick 属性(或与 JS 绑定的事件处理程序)中不起作用,因为它是保存在书签中的 URL。

如果您单击锚点,具有 javascript: URI 的锚点与具有具有相同代码的 onclick 属性最相似。

但小书签并不旨在直接关注。用户应该右键单击它并将 URI 保存到他们的书签中。这仅在代码位于 href 属性中时有效。