js调用方法(4种)
语句 | 执行 |
---|---|
<script>alert(1)</script> |
script标签中执行 –标签外(如body中) 推荐 (不用点击,直接触发) |
<script src="x.js"></script> |
调用执行 –标签外 |
<a href="javascript:alert(1)"></a> |
伪协议触发(javascript不可少)–标签内 推荐 |
<p onclick="alert(1)"></p> |
事件触发 –标签内 |
js事件
事件 | 说明 |
---|---|
Windows事件 | 针对windows对象触发的事件,应用到body标签 |
onafterprint | 打印之后触发的事件 |
onbeforeprint | 打印之前触发的事件 |
onerror | 发生错误(文件加载错误等)时触发的事件,常跟不存在的图片,用来执行js触发xss漏洞 |
onload | 页面加载完成后立即发生 |
onresize | 窗口大小被改变时触发的事件 |
onunload | 页面下载或刷新网页时触发事件 |
Form事件 | 由HTML表单内的动作触发的事件,应用到几乎所有的HTML元素,最常用在Form元素 |
onblur | 当元素失去焦点(鼠标移出等)时触发的事件 |
onchange | 输入框的值发生变化或者下拉列表框选项触发的事件 |
onfocus | 当元素获得焦点时触发的事件 |
onformchange | 当表单被改变时触发的事件 |
oninput | 当元素获得用户输入时触发的事件 |
onselect | 元素中文本被选中后触发的事件 |
onsubmit | 提交表单时触发的事件 |
Keyboard事件 | |
onkeydown | 用户按下按键时触发的事件 |
onkeypress | 用户敲击按钮时触发的事件 |
onkeyup | 用户释放按键时触发的事件 |
Mouse事件 | 由鼠标或类似用户动作触发的事件 |
onclick | 元素上发生鼠标点击时触发的事件 |
ondblclick | 元素上发生鼠标双击时触发的事件 |
onmousedown | 当元素上按下鼠标按钮时触发的事件 |
onmousemove | 当鼠标指针移动到元素上时触发的事件 |
onmouseover | 当鼠标指针移动到元素上时触发的事件 |
onmouseout | 当鼠标指针移出元素时触发的事件 |
onmouseup | 当在元素上释放鼠标按钮时触发的事件 |
更多事件访问文档:https://www.w3school.com.cn/tags/html_ref_eventattributes.asp
DOM操作
使用 | 命令 |
---|---|
通过ID获取 | document.getElementById() |
通过标签名称获取(结果有多个,以数组形式存放) | docunment.getElementsByTagName() |
通过对象名称获取(结果有多个,以数组形式存放) | documemt.getElementsByClassName() |
document事件操作 | |
---|---|
动态添加事件 | document.getElementById(“x”).addEventListener(“click”,function(){ }) 给img添加点击事件 document.getElementById(“x”).addEventListener(“click”,function(){ alert(“这是图片”) }) |
创建标签 | document.createElement(“img”) #创建img标签 创建img标签,并添加属性 img = document.createElement(“img”) img.src = “x.jpg” img.style.width = “100px” … 可以创建script标签实现跨站脚本攻击 ![]() |
应用 | document.body.appendChild() 执行添加/创建(否则不显示) |