https://developer.mozilla.org/zh-CN/docs/Web/API/Document/createEvent
遍历dom元素,记录每个元素的坐标,找到离(x,y)最近的且z-index最大一个元素,模拟这个dom元素的点击
https://developer.mozilla.org/en-US/docs/Web/API/MouseEvent/initMouseEvent
其中,
initMouseEvent 方法用于初始化通过 DocumentEvent 接口创建的 MouseEvent 的值。此方法只能在通过dispatchEvent 方法指派 MouseEvent 之前调用,尽管在该阶段可以多次调用它(如有必要)。如果被多次调用,则最后一次调用优先。
参数:
document.createEvent用于创建事件,在DOM Level 2 的事件中就有HTMLEvents,MouseEvents,UIEvents事件类型。DOM Level 3增加很多事件类型,个人觉得其中最有用的是CustomEvent自定义事件。
有效的事件类型列表:
http://www.w3school.com.cn/xmldom/met_document_createevent.asp#eventType
为DOM元素创建自定义事件的步骤为:
一、创建事件:var ev = document.createEvent('CustomEvent')
二、初始化事件:ev.initCustomEvent('自定义事件名称', false(是否允许冒泡), false(是否允许中断),args)
三、为DOM添加事件监听:element.addEventListener('自定义事件名称',fn,false)
四、分发(触发)自定义事件:element.dispatchEvent(ev)
pdf.js可以获取点击坐标。1、需要用鼠标点击pdf的位置,在所点击的位置那,插入一个图片。
2、后台用的是itextpdf,插入图片功能已经做好,鼠标点击pdf文档的位置即可获取坐标。
//duration {number} 按住时长,单位毫秒。
setScreenMetrics(width, height) //设置脚本坐标点击所适合的屏幕宽高。如果脚本运行时,屏幕宽度不一致会自动放缩坐标。
click(x, y) //模拟点击坐标(x, y),并返回是否点击成功。只有在点击执行完成后脚本才继续执行。默认100ms点击时长。
longClick(x, y)//模拟长按坐标(x, y), 并返回是否成功。只有在长按执行完成(大约600毫秒)时脚本才会继续执行。
press(x, y, duration)//模拟按住坐标(x, y), 并返回是否成功。只有按住操作执行完成时脚本才会继续执行。
swipe(x1, y1, x2, y2, duration)//模拟从坐标(x1, y1)滑动到坐标(x2, y2),并返回是否成功。只有滑动操作执行完成时脚本才会继续执行。
gesture(duration, [x1, y1], [x2, y2], ...)//模拟手势操作。
gestures([delay1, duration1, [x1, y1], [x2, y2], ...], [delay2, duration2, [x3, y3], [x4, y4], ...], ...)
//同时模拟多个手势。
//输出
log()//日志输出。 toast()//气泡输出。toastLog()//气泡,日志输出。alert()//对话框输出。
//注释
行级注释 ---> //注释内容。块级注释 ---> /*注释内容*/。
1.字符串的拼接用加号进行运算。
2.布尔值运算
非-感叹号,感叹号的作用是布尔值取反,比如本来为true的数据类型,用了!值为false,本来为false的变为true。
都- &&,连接两个布尔值,如果两个值都为true,那么返回true,否则返回false
任意- ||,连接两个布尔值,如果两个中有一个为true,那么整体返回true,否则返回false