在带有书签的网页中选择“正文/任何元素”

时间:2019-01-01 12:20:54

标签: javascript bookmarklet

(function() {
  var overlay = document.createElement('div');
  Object.assign(overlay.style, {
    position: 'fixed',
    top: 0,
    left: 0,
    width: '100vw',
    height: '100vh',
    zIndex: 99999999,
    background: 'transparent',
    cursor: 'crosshair'
  });
  document.body.append(overlay);

  overlay.addEventListener('click', function(event) {
    Object.assign(overlay.style, { width: 0, height: 0 });

    var element = document.elementFromPoint(event.clientX, event.clientY);
    var position = element.getBoundingClientRect();

    Object.assign(overlay.style, {
      background: 'rgba(0, 128, 255, 0.25)',
      outline: '1px solid rgba(0, 128, 255, 0.5)',
      top: '' + position.top + 'px',
      left: '' + position.left + 'px',
      width: '' + position.width + 'px',
      height: '' + position.height + 'px'
    });

    setTimeout(function() {
      window.prompt('Press Ctrl+C to copy', element.textContent || element.value);
      document.body.removeChild(overlay);
    });
  });
})()

我想调整此小书签,但我不知道该怎么做

它显示一个光标,您可以选择一个元素,然后显示一个框,然后可以从那里复制。

我想代替它来选择网页内的元素(如果可能的话,选择一个或多个)。复制它们或运行其他javascript

  setTimeout(function() {
  window.prompt('Press Ctrl+C to copy', element.textContent || element.value);
  document.body.removeChild(overlay);

当我删除此部分时,它仅显示蓝色悬停选择的框架。

我该怎么做?

资源:https://makandracards.com/makandra/46962-javascript-bookmarklet-to-click-an-element-and-copy-its-text-contents

0 个答案:

没有答案