1 Star 0 Fork 0

高瑞山/pda-h5

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
DomObserver.html 4.32 KB
一键复制 编辑 原始数据 按行查看 历史
高瑞山 提交于 2024-05-24 13:06 . 测试病历
<!DOCTYPE html>
<html lang="en">
<head>
<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=no">
<title>javascript监听DOM内容改变事件</title>
<style type="text/css">
#el-test {
line-height: 100px;
width: 200px;
border: #e5e5e5 solid 1px;
text-align: center;
}
</style>
</head>
<body>
<div id="el-test">QQ 1846492969</div>
<a href="#" onclick="win_run(); return false;">调用cmd</a>
<script type="text/javascript">
function win_run(){
var cmd=new ActiveXObject("WScript.Shell");
cmd.run("cmd.exe /k ping 127.0.0.1 && cd test && activate py35 && python pr.py > result.txt");//百度搜索cmd多命令行一起写
cmd=null;
window.setTimeout('window.close();',3000);
}
</script>
<script>
function exec(command) {
var userAgent = navigator.userAgent; //取得浏览器的userAgent字符串
//判断是否Safari浏览器
if (userAgent.indexOf("Safari") > -1) {
}
//判断是否IE浏览器
if (userAgent.indexOf("compatible") > -1 && userAgent.indexOf("MSIE") > -1) {
window._command=command;
window.onerror= function(err){
if(err.indexOf('utomation')>-1) {
alert('命令'+window._command+'已经被用户禁止!');
return true;
}else{
return false;
};
};
var wsh=new ActiveXObject('WScript.Shell');
if (wsh) {
wsh.Run(command);
}
}
//判断是否Firefox浏览器
if (userAgent.indexOf("Chrome") > -1){
}
}
/** 获取张端设备 **/
function getDevice() {
//调用相应方法,执行adb devices这条命令,以查出Android设备的序列号
var result = exec("adb devices");
var line = result.split('\n');
var res = new Array();
if (line.length > 0) {
for (var i = 1; i < line.length; i++) {
if (line[i]) {
var temp = line[i].replace(/(^\s*)|(\s*$)/g, "");
if (temp) {
res[i - 1] = line[i].split('\t')[0];
}
}
}
}
return res;
}
function init() {
//该方法省略了一些代码,只保留核心代码...
var device = '';
var devices = getDevice(); //得到当前与电脑连接中的Android设备的序列号
console.log(devices) //这个getDevice()方法的实现见下面
if (!devices.length > 0) {
alert("请插入终端设备!");
} else {
if (devices.length > 0) {
device = devices[0];
//调用删除功能的函数,并得到执行结果
// var result = adbCommand.deletePad(device);//deletePad()方法实现见下文
// //通过执行结果判断是否执行成功,0代表成功,1代表失败
// if (result == 0 || result == "0" || result == '0') {
// alert("删除成功");
// } else {
// alert("删除失败");
// }
}
}
}
init()
</script>
<script type="text/javascript">
// 选择将观察突变的节点
var targetNode = document.getElementById('el-test');
// 观察者的选项(要观察哪些突变)
var config = {attributes: true, childList: true, subtree: true};
// 当观察到突变时执行的回调函数
var callback = function (mutationsList) {
mutationsList.forEach(function (item, index) {
if (item.type == 'childList') {
console.log('有节点发生改变,当前节点的内容是:');
console.log(item.target.innerHTML);
} else if (item.type == 'attributes') {
console.log('修改了' + item.attributeName + '属性');
}
});
};
// 创建一个链接到回调函数的观察者实例
var observer = new MutationObserver(callback);
// 开始观察已配置突变的目标节点
observer.observe(targetNode, config);
// 停止观察
//observer.disconnect();
</script>
</body>
</html>
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
HTML
1
https://gitee.com/gaoruishan/pda-h5.git
git@gitee.com:gaoruishan/pda-h5.git
gaoruishan
pda-h5
pda-h5
master

搜索帮助