Выберите Body / Any элемент на веб-странице с букмарклетом - PullRequest
0 голосов
/ 01 января 2019

(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

...