对一段wordpress评论自动填充代码的学习关于JS发现
代码如下
javascript:void%20function(){var%20lauthor=["#author","input[name='comname']","#inpName","input[name='author']","#ds-dialog-name"],lmail=["#mail","#email","input[name='commail']","#inpEmail","input[name='email']","#ds-dialog-email"],lurl=["#url","input[name='comurl']","#inpHomePage","#ds-dialog-url","input[name='url']"];for(i=0;i<lauthor.length;i++){var%20author=document.querySelector(lauthor[i]);if(author!=null){author.value='JONE';break}}for(j=0;j<lmail.length;j++){var%20mail=document.querySelector(lmail[j]);if(mail!=null){mail.value='abc@jone.xyz';break}}for(k=0;k<lurl.length;k++){var%20url=document.querySelector(lurl[k]);if(url!=null){url.value='http://www.jone.xyz';break}}return!1}()
格式化之后
javascript:void function(){ var lauthor=["#author", "input[name='comname']", "#inpName", "input[name='author']", "#ds-dialog-name"], lmail=["#mail", "#email", "input[name='commail']", "#inpEmail", "input[name='email']", "#ds-dialog-email" ], lurl=[ "#url", "input[name='comurl']", "#inpHomePage", "#ds-dialog-url", "input[name='url']" ]; for(i=0;i<lauthor.length;i++){ var author=document.querySelector(lauthor[i]); if(author!=null){ author.value = 'JONE'; break } } for(j=0;j<lmail.length;j++){ var mail=document.querySelector(lmail[j]); if(mail!=null){ mail.value = 'abc@jone.xyz';break } } for(k=0;k<lurl.length;k++){ var url=document.querySelector(lurl[k]); if(url!=null){ url.value='http://www.jone.xyz'; break } } return!1 }()
以上代码大意就是把可能的对象的选择器存在数组中然后遍历数组判断是否存在该对象,若存在则给该对象赋值。
想js代码中浏览器的地址栏中运行 格式如下
javascript:void%20function(){ /*此处写要执行的js代码*/}()
%20 其实就是空格,序列化之后就变成%20了。。在url传递参数的时候,一般都会序列化一下,以保证参数的安全;
document.querySelector 方法返回文档中匹配指定 CSS 选择器的一个元素。用法详见菜鸟教程
扩展:<a>标签中的href如何调用js代码 原文链接