Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Как при клике правой кнопкой по картинке скопировать в буфер ее URL (https://javascript.ru/forum/misc/76226-kak-pri-klike-pravojj-knopkojj-po-kartinke-skopirovat-v-bufer-ee-url.html)

selevo 15.12.2018 10:54

(решено) Как при клике правой кнопкой по картинке скопировать в буфер ее URL
 
Мда
или с нажатым контролом и правой кнопкой.

j0hnik 15.12.2018 19:20

<img src="http://site.ru/img.jpg" alt="22">
<img src="http://site.ru/img2.jpg" alt="33">
<script>
	document.querySelectorAll('img').forEach(el=>el.oncontextmenu = e =>  {
		e.preventDefault();
		navigator.clipboard.writeText(e.currentTarget.src)
	});
</script>

selevo 15.12.2018 22:26

:thanks:
Виртуозно!

selevo 16.12.2018 20:29

Вложений: 2
а почему работает не везде хотя картинка есть ?
вот пример страницы:
https://www.aliexpress.com/item/3-Me...948596388.html

и еще редактор выдает предупреждение
arrow function should not return assignment

j0hnik 16.12.2018 22:05

Цитата:

Сообщение от selevo
а почему работает не везде хотя картинка есть ?

Скорее всего картинка подгружается после навешивания слушателей

j0hnik 16.12.2018 22:11

document.body.oncontextmenu = function(e){
	if (e.target.tagName == 'IMG') {
		e.preventDefault();
		navigator.clipboard.writeText(e.target.src);
	}
};

selevo 17.12.2018 18:16

шикарно,вообще решение находчивое ))

Да ,спасибо там подгружается постепенно содержимое и
предупреждения нет.
но нет и контекстного меню я заметил,
можно как-то на контрол+правы клик повесить или не получится так ?

Aetae 17.12.2018 18:56

document.body.oncontextmenu = function(e){
	if (e.target.tagName == 'IMG' && e.ctrlKey) {
		e.preventDefault();
		navigator.clipboard.writeText(e.target.src);
	}
};
Логично, не правда ли?)

selevo 18.12.2018 09:31

)))
ТОчно!
Спасибо.
я в js третий день пока мало что понял из всего кода, кроме
clipboard.writeText
if
tagName == 'IMG' && e.ctrlKey

selevo 19.03.2019 09:38

а как сделать так что бы при клике правой кнопкой и контекстное меню показалось и url картинки в буфер сохранился ?


Часовой пояс GMT +3, время: 06:23.