这是几年前我拼凑在一起的书签,用于在Gmail Basic HTML view中批量存档电子邮件:
javascript:[].forEach.call(document.querySelectorAll('input[type="checkbox"][name="t"]'),function(el){el.checked=true;document.querySelector('select[name="tact"]').value="arch";});
有一些缩进,看起来像这样:
javascript:[].forEach.call(
document.querySelectorAll('input[type="checkbox"][name="t"]'),
function(el){
el.checked=true;
document.querySelector('select[name="tact"]').value="arch";
}
);
我知道做了什么:它整体勾选,当前屏幕上的所有复选框(即每个电子邮件左侧出现的与当前搜索相匹配的复选框),并设置下降-down菜单到"存档"。这意味着所有用户需要做的就是点击" Go"按钮(在首先取消选中他不希望存档的任何特殊电子邮件之后),然后所有这些电子邮件将被存档。
那就是它的作用。但是我目前没有使用JavaScript,这个脚本的结构对我来说很奇怪,特别是[].forEach.call()
语法。我想知道的是:脚本实际上是如何工作的?这种语法对于bookmarklet来说有点特殊吗?