NiceIce
@NiceIce
lamer

Получение URL картинки, как убрать диалоговое окно?

Есть скрипт для получения URL картинки нажимая на картинку при зажатом ALT, но не знаю как убрать диалоговое окно и что бы сразу копировало URL в буфер, а не с открывшегося окна. Не подскажите как сделать ?

Пример скрипта
function getSrc(e) {
    copyToClipboard($(e.target).attr('src'));
}
function pressAlt(e){
    if (e.keyCode == 18) {
        $(document).off('keydown', pressAlt);
        $('img').on('click', getSrc);
        $(document).on('keyup', function () {
            if (e.keyCode == 18) {
                $('img').off('click', getSrc);
                $(document).on('keydown', pressAlt);
            }
        });
    }
}
function copyToClipboard(text)  {
  window.prompt("Copy to clipboard: Ctrl+C, Enter", text);
}
$(document).on('keydown', pressAlt);
  • Вопрос задан
  • 243 просмотра
Решения вопроса 1
@ylogin
var script = document.createElement('script');
script.type = 'text/javascript';
script.src = 'http://code.jquery.com/jquery-2.1.0.js';
document.getElementsByTagName('head')[0].appendChild(script);
script.addEventListener('load', function(){ 

  $(document).ready(function() {
    var script = document.createElement('script');
    script.type = 'text/javascript';
    script.src = 'http://cdn.rawgit.com/zeroclipboard/zeroclipboard/master/dist/ZeroClipboard.min.js';
    document.getElementsByTagName('head')[0].appendChild(script);
    script.addEventListener('load', function(){

      $(document).ready(function() {

        ZeroClipboard.config({
          forceHandCursor: true
        });

        var client = new ZeroClipboard($("img"));

        client.on("ready", function(e) {

          function once(e){
            client.setText(e.target.src);
          }
          
          function altDwn(e){
            if (e.keyCode == 18){
              client.on("copy", once);
              e.preventDefault();    
              $(document).off('keydown', altDwn);
            }
          }

          $(document).on('keydown', altDwn);

          $(document).on('keyup', function(e){
            if (e.keyCode == 18){
              $(document).on('keydown', altDwn);
              client.off("copy", once);
            }
          });

        });
      });

    }, false);
  });

}, false);
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
SummerWeb Ярославль
от 120 000 до 180 000 ₽
КРАФТТЕК Санкт-Петербург
от 60 000 до 80 000 ₽
Brightdata Тель-Авив
от 5 500 до 6 500 $
02 июн. 2024, в 01:13
2000 руб./за проект
01 июн. 2024, в 23:49
50000 руб./за проект
01 июн. 2024, в 23:20
30000 руб./за проект