0

我有一个这样的书签:

javascript:(function()%7Bvar%20x=document.createElement('SCRIPT');x.type='text/javascript';x.src='http://tmxhost.com/mail/clippad.js?'+(new%20Date().getTime()/100000);document.getElementsByTagName('head')%5B0%5D.appendChild(x);%7D)();

但是当我点击它时,直到我第二次点击它,它才会发生任何事情,然后它会写入 DOM。有谁知道为什么?

4

1 回答 1

1

小书签将此脚本附加到页面:http ://tmxhost.com/mail/clippad.js

该脚本有两个部分。1.) 将 jQuery 添加到页面。2.) 使用 jQuery。

问题是在第二部分运行之前没有检查 jQuery 是否已经加载,所以通常第二部分在第一次尝试时会失败。

当您第二次单击小书签时,jQuery 已完成加载,因此第二部分按预期运行。

在书签中使用 jQuery 有一些很好的工具和教程:https ://www.google.com/search?q=jquery+bookmarklet

要考虑的另一点是,在小书签中使用$(document).ready通常是没有意义的,因为小书签几乎总是在文档准备好之后使用。

于 2012-12-10T08:42:58.997 回答