Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 23.12.2018, 08:33
Новичок на форуме
Отправить личное сообщение для Moslitr Посмотреть профиль Найти все сообщения от Moslitr
 
Регистрация: 19.01.2018
Сообщений: 3

Создать кнопку JS
Доброго времени суток. В JS новичок. Хочу создать кнопку, и навесить на нее событие.
Вот что получилось
// ==UserScript==
// @name КНОПКА
// @version 0.1
// @description try to take over the world!
// @author You
// @match https://www.youtube.com*
// @include https://www.youtube.com*
// @grant none
// ==/UserScript==
setTimeout(function(){
var btn = document.createElement("button");
btn.appendChild(document.createTextNode("КНОПКА"));
btn.onclick = function (){window.location = 'http://www.google.com'; };
var sel = document.querySelectorAll("[id='upload-info']");
sel[1].appendChild(btn);
},1000)

Так работает, кнопка создается, и переходит на сайт по клику.
setTimeout(function(){
var btn = document.createElement("button");
btn.appendChild(document.createTextNode("КНОПКА"));
btn.onclick = function (){window.location = 'http://www.google.com'; };
var sel = document.querySelector("upload-info");
sel.appendChild(btn);
},1000)

Так уже не работает, почему не знаю.

Но.. Я хочу навесить на эту событие, например, чтобы производимое при нажатии на эту кнопку действие было аналогично рядом расположенной красной кнопке "подписаться"
setTimeout(function(){
var btn = document.createElement("button");
btn.appendChild(document.createTextNode("КНОПКА"));
*!*btn.onclick = function (){  что сюда подставить?   };*/!*
var sel = document.querySelectorAll("[id='upload-info']");
sel[1].appendChild(btn);
},1000)



вот сама кнопка
<yt-formatted-string class="style-scope ytd-subscribe-button-renderer">Подписаться <span class="deemphasize style-scope yt-formatted-string">14&nbsp;тыс.</span></yt-formatted-string>


скопированный selector
yt-formatted-string.ytd-subscribe-button-renderer


пробовал разные варианты, ничего не получается

Последний раз редактировалось Moslitr, 23.12.2018 в 09:21.
Ответить с цитированием
  #2 (permalink)  
Старый 23.12.2018, 08:39
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,109

Сообщение от Moslitr
document.querySelector("upload-info");
upload-info это что? # или . где?

Пожалуйста, отформатируйте свой код!

Для этого его можно заключить в специальные теги: js/css/html и т.п., например:
[html run]
... минимальный код страницы с вашей проблемой
[/html]

О том, как вставить в сообщение исполняемый javascript и html-код, а также о дополнительных возможностях форматирования - читайте http://javascript.ru/formatting.
Ответить с цитированием
  #3 (permalink)  
Старый 23.12.2018, 09:14
Новичок на форуме
Отправить личное сообщение для Moslitr Посмотреть профиль Найти все сообщения от Moslitr
 
Регистрация: 19.01.2018
Сообщений: 3

Сообщение от рони
upload-info это что? # или . где?
Это пользовательский скрипт на сайте https://www.youtube.com/

Так выглядит скриншот


Сейчас разберусь как форматировать, и отформатирую.
Ответить с цитированием
  #4 (permalink)  
Старый 23.12.2018, 09:40
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,109

Сообщение от Moslitr
Это пользовательский скрипт
селектор!!!
var sel = document.querySelector("#upload-info");
Ответить с цитированием
  #5 (permalink)  
Старый 23.12.2018, 09:41
Аватар для j0hnik
Профессор
Отправить личное сообщение для j0hnik Посмотреть профиль Найти все сообщения от j0hnik
 
Регистрация: 01.12.2016
Сообщений: 3,650

Сообщение от Moslitr
btn.onclick = function (){  что сюда подставить?   };
btn.onclick = function (){ 
document.querySelector("#subscribe-button>*>*").click();
  };
Ответить с цитированием
  #6 (permalink)  
Старый 23.12.2018, 09:44
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,109

Сообщение от Moslitr
что сюда подставить?
не понимаю, ждите других специалистов.
Ответить с цитированием
  #7 (permalink)  
Старый 23.12.2018, 09:53
Новичок на форуме
Отправить личное сообщение для Moslitr Посмотреть профиль Найти все сообщения от Moslitr
 
Регистрация: 19.01.2018
Сообщений: 3

Сообщение от j0hnik Посмотреть сообщение
btn.onclick = function (){ 
document.querySelector("#subscribe-button>*>*").click();
  };

Всё работает! Спасибо большое!
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как создать кнопку, чтобы она удаляла кусок кода? Djambulat Angular.js 1 10.07.2017 15:11
Подскажите, как создать кнопку для textarea vladimir003 Элементы интерфейса 10 24.01.2015 18:02
Создать кнопку с событием Vladimir93 Общие вопросы Javascript 9 22.11.2014 20:46
Как создать js файл в NODE.js develka AJAX и COMET 5 14.06.2012 01:30