Комо ejecutar коммандос de консоль (Chrome DevTools) vía js o jQuery?

Сеть La estructura de mi es la siguiente

HTML:

<pre id="htmlCode">
// Contenido del sitio
</pre>

Abriendo la pagina desde Google chrome e ingresando en las DevTools - СИ Consola эй ejecuto este коммандос:

copy($('#htmlCode').html())

al hacer Ctrl + V, se pega todo el HTML que esta dentro de ese <pre>

Ми pregunta es, Комо ejecuto ese коммандос с помощью JQuery o JavaScript? (Содержание ми es que al hacer нажимает коммандос en un boton se ejecute dicho y que en mi portapapeles quede el codigo que esta dentro de ese <pre>

5
задан 13.03.2017, 16:28
4 ответа

Ты можешь делать это посредством Document#execCommand. Есть список команд, которые они осуществлены согласно браузеру.

Пример :

function copy (node) {
  let range = document.createRange();
  range.selectNode(node);
  window.getSelection().addRange(range);
   
  let support = document.execCommand('copy');
  if (support) {
    console.info('Código copiado al portapeles');
  } else {
    console.error('Tu navegador no soporta execCommand');
  }
}
<pre id="htmlCode">
let saludo = 'Hola';
</pre>

<button id="copy" onclick="copy(htmlCode)">Copiar texto</button>

Вынес для команды copy:

  • IE 10 +
  • Chrome 43 +
  • Firefox 41 +
  • Производит 29 +

Fallback

у Тебя может быть fallback в случае браузер не выносите эту API. Есть librer¦-эксперт, который они позволяют тебе копировать в portapeles, как это случай Clipboard.js .

new Clipboard('#copy');
<script src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/1.6.1/clipboard.min.js"></script>

<pre id="htmlCode">
let magicWord = '¿Hay alguno?';
</pre>

<button id="copy" data-clipboard-action="copy" data-clipboard-target="#htmlCode">Copiar texto</button>

ты Можешь знать, ли вынесена команда браузером посредством Document.queryCommandSupported.

6
ответ дан 24.11.2019, 10:37
  • 1
    Густаво, большое спасибо!! Я смог делать это через код javascript, что ты присоединил меня, он это выполняет в совершенство, как он это хотел, я тебе благодарен за твое время и за твою помощь! Мне не повезло используя clipboard.js, в пользу какого-то мотива команда не работает никогда и никогда не копирует желанный текст. – Santa AQ 13.03.2017, 17:35
  • 2
    @SantaAQ я только что протестировал có я говорю с Clipboard.js и функционируй, как он ожидается. – gugadev 13.03.2017, 17:45

Я оставляю тебе пример с чистым Javascript, которого ты можешь приспосабливать, если ты это желаешь.

c¦digo estÃ: прокомментированный. Используется в этом случае команда copy, призванный с Document.execCommand ()

Замечает:

Восток c¦digo не функционирует в неких браузерах со старыми версиями.

function copiarAlPortapapeles(elem) {
	  // crear elemento de texto oculto si no existe
    var destinoId = "_hiddenCopyText_";
    var isInput = elem.tagName === "INPUT" || elem.tagName === "TEXTAREA";
    var origSelectionStart, origSelectionEnd;
    if (isInput) {
        // usar la fuente original del elemento para seleccionar y copiar
        destino = elem;
        origenSelectionStart = elem.selectionStart;
        origenSelectionEnd = elem.selectionEnd;
    } else {
        // usa un formulario temporal para seleccionar y copiar
        destino = document.getElementById(destinoId);
        if (!destino) {
            var destino = document.createElement("textarea");
            destino.style.position = "absolute";
            destino.style.left = "-9999px";
            destino.style.top = "0";
            destino.id = destinoId;
            document.body.appendChild(destino);
        }
        destino.textContent = elem.textContent;
    }
    // selecciona el contenido
    var actualFoco = document.activeElement;
    destino.focus();
    destino.setSelectionRange(0, destino.value.length);
    
    // copia la selección
    var hecho;
    try {
    	  hecho = document.execCommand("copy");
    } catch(e) {
        hecho = false;
    }
    // restaurar el foco
    if (actualFoco && typeof actualFoco.focus === "function") {
        actualFoco.focus();
    }
    
    if (isInput) {
        // restaurar seleccion previa
        elem.setSelectionRange(origenSelectionStart, origenSelectionEnd);
    } else {
        // limpiar contenido temporal
        destino.textContent = "";
    }
    return hecho;
}
input {
  width: 500px;
}
<pre id="copiaOrigen">Texto a copiar</pre>

<button id="btnCopiar" onclick="copiarAlPortapapeles(copiaOrigen)">Copiar texto</button><br><br>
<!--    <input type="text" id="copiaOrigen" value="Texto a copiar"> -->
<input type="text" placeholder="Click aquí y presione Ctrl-V para ver el contenido del Portapapeles">
2
ответ дан 24.11.2019, 10:37
  • 1
    Большое спасибо из-за твоего ответа! Я наблюдал и заметил следующее. Этот код, что ты присоединяешь меня, служит, в случае когда имеет TextArea или Неудар в лунку как источник данных, в моем случае источник информации, который должен копировать эту внутри одного < pre> и моя идея состоит в том, чтобы копировать Ваш контент в языке HTML. Как он мог бы приспосабливать это для моей необходимости? так как наблюдая твой có я говорю, что мне не удается увидеть способ это приспосабливать. – Santa AQ 13.03.2017, 17:30
  • 2
    @SantaAQ важным является Id элемента, не тип элемента. В có я говорю, чтобы копировать JS, он закрепляется в элементе, который есть у id = copiaDestino: copyToClipboard(document.getElementById("copiaDestino")); я издал ответ помещая один < pre> вместо неудара в лунку, и поскольку ты можешь видеть, копии hace давая клик Botó n копировать, как раньше. Потом ты можешь делать Paste в нижнем неударе в лунку и verá s, что verá скопированный текст. – A. Cedano 13.03.2017, 17:39
  • 3
    Muchí пропасти спасибо за твой ответ, creí что, если элемент был далеко от подробных, не будет функционировать, но благодаря твоему примеру я смог видеть, что это не было так. Спасибо за твое время и из-за твоего ответа!:) – Santa AQ 13.03.2017, 17:47

Я верю в то, что которое estÃ: s ища это funci¦n eval ().

eval - язык сценариев JavaScript MDN

eval($('#htmlCode').html());
0
ответ дан 24.11.2019, 10:37

Установи этот plugins и podrÃ: s выполнять c¦digo Jquery очень fÃ: cil:

https://chrome.google.com/webstore/detail/jquerify/gbmifchmngifmadobkcpijhhldeeelkc

0
ответ дан 24.11.2019, 10:37

Теги

Похожие вопросы