小书签只运行一小段 JavaScript 代码,将指向 clientutils.js 的链接附加到文档的末尾。之后,它将每 50 毫秒运行一个匿名函数,检查脚本是否已加载(并使该ClientUtils
函数可用),如果已加载,它将停止运行该函数并创建window.__utils__
,从而使其在控制台中可用。这是更易读格式的实际书签代码。应该很容易理解:
(function () {
void(function () {
if (!document.getElementById('CasperUtils')) {
var CasperUtils = document.createElement('script');
CasperUtils.id = 'CasperUtils';
CasperUtils.src = 'https://raw.github.com/n1k0/casperjs/master/modules/clientutils.js';
document.documentElement.appendChild(CasperUtils);
var interval = setInterval(function () {
if (typeof ClientUtils === 'function') {
window.__utils__ = new window.ClientUtils();
clearInterval(interval);
}
}, 50);
}
}());
})();