一段有趣的可以修改DOM的代码

一段有趣的可以修改DOM的代码😊

1
仅仅个人记录

代码一:这段代码很神奇可以做到不用看html内容直接修改DOM 算是一个有趣的API 记录一下

document.designMode ='on'

代码二:通过使用此模块,只需将鼠标悬停在浏览器中,即可快速查看DOM元素的属性。基本上它是一个即时检查器。把这段代码输入到控制台按回车就可以看出效果了

(function SpyOn() {

const _id = 'spyon-container',
        _posBuffer = 3;

function init() {
    document.body.addEventListener('mousemove', glide);
    document.body.addEventListener('mouseover', show);
    document.body.addEventListener('mouseleave', hide);
}

function hide(e) {
    document.getElementById(_id).style.display = 'none';
}

function show(e) {
    const spyContainer = document.getElementById(_id);
    if (!spyContainer) {
    create();
    return;
    }
    if (spyContainer.style.display !== 'block') {
    spyContainer.style.display = 'block';
    }
}

function glide(e) {
    const spyContainer = document.getElementById(_id);
    if (!spyContainer) {
    create();
    return;
    }
    const left = e.clientX + getScrollPos().left + _posBuffer;
    const top = e.clientY + getScrollPos().top + _posBuffer;
    spyContainer.innerHTML = showAttributes(e.target);
    if (left + spyContainer.offsetWidth > window.innerWidth) {
    spyContainer.style.left = left - spyContainer.offsetWidth + 'px';
    } else {
    spyContainer.style.left = left + 'px';
    }
    spyContainer.style.top = top + 'px';
}

function getScrollPos() {
    const ieEdge = document.all ? false : true;
    if (!ieEdge) {
    return {
        left : document.body.scrollLeft,
        top : document.body.scrollTop
    };
    } else {
    return {
        left : document.documentElement.scrollLeft,
        top : document.documentElement.scrollTop
    };
    }
}

function showAttributes(el) {
    const nodeName = `<span style="font-weight:bold;">${el.nodeName.toLowerCase()}</span><br/>`;
    const attrArr = Array.from(el.attributes);
    const attributes = attrArr.reduce((attrs, attr) => {
    attrs += `<span style="color:#ffffcc;">${attr.nodeName}</span>="${attr.nodeValue}"<br/>`;
    return attrs;
    }, '');
    return nodeName + attributes;
}

function create() {
    const div = document.createElement('div');
    div.id = _id;
    div.setAttribute('style', `
    position: absolute;
    left: 0;
    top: 0;
    width: auto;
    height: auto;
    padding: 10px;
    box-sizing: border-box;
    color: #fff;
    background-color: #444;
    z-index: 100000;
    font-size: 12px;
    border-radius: 5px;
    line-height: 20px;
    max-width: 45%;
    `
    );
    document.body.appendChild(div);
}

init();

})();

链接:https://juejin.im/post/5dc9276a5188251d47166dcc 来源:掘金

打赏
  • 版权声明: 本博客所有文章除特别声明外,著作权归作者所有。转载请注明出处!
  • Copyrights © 2018-2020 XueLong Wang
  • 访问人数: | 浏览次数:

请我喝杯咖啡吧~

支付宝
微信