
22.10.2017, 07:53
|
Новичок на форуме
|
|
Регистрация: 22.10.2017
Сообщений: 7
|
|
Вытащить textarea из div - JavaScript
Добрый день, уважаемые форумчане!
Имею структуру, которая указана на картинке.
Вопрос, как мне из кода javascript обратиться к этой textarea и вставить в нее нужную строку.
Пробовал делать так:
window.open("htttp://")
var m =document.getElementsByTagName('textarea')
Но m не определяется.
Заранее спасибо!
|
|

22.10.2017, 09:43
|
Профессор
|
|
Регистрация: 04.12.2012
Сообщений: 3,802
|
|
graph91, попробуйте так:
|
|

22.10.2017, 19:02
|
Новичок на форуме
|
|
Регистрация: 22.10.2017
Сообщений: 7
|
|
Nexus, большое спасибо, что проявили интерес.
При Вашем синтаксисе ошибка, подчеркивается весь путь querySelector.
Я попробовал написать так:
d.document.querySelector('#app > div.main-content > div > div.layout-middle > div > div.dialogs-write > div.sw-input > div > textarea').value+='Your string';
Так ошибки нет, но текст по-прежнему не вставляется...
Какие еще есть варианты?
|
|

22.10.2017, 19:42
|
Новичок на форуме
|
|
Регистрация: 22.10.2017
Сообщений: 7
|
|
Сообщение от Nexus
|
graph91, попробуйте так:
|
function sendMessage(_0x15b6x8) {
var d =window.open( _0x15b6x8)
m = d.document.querySelector('#app > div.main-content > div > div.layout-middle > div > div.dialogs-write > div.sw-input > div > textarea');
m.value = "123";
Все нормально работает, но текст не добавляется...
|
|

23.10.2017, 04:39
|
Новичок на форуме
|
|
Регистрация: 22.10.2017
Сообщений: 7
|
|
Сообщение от Nexus
|
graph91, попробуйте так:
|
В общем смотрите, я делаю так:
функция
function sendMessage(_0x15b6x8) {
var d =window.open( _0x15b6x8)
d.document.addEventListener('DOMContentLoaded', function(){
d.document.querySelector('#app > div.main-content > div > div.layout-middle > div > div.dialogs-write > div.sw-input > div > textarea').value+='Your string';
},false);
if(d.document.readyState=='complete'){
d.document.dispatchEvent(new Event('DOMContentLoaded'))}
}
перебирается в цикле.
Может ли быть такое, что на момент проверки d.document.readyState=='complete' возвращается false из-за того, что страница просто не загрузилась?
Как дождаться d.document.readyState=='complete' и затем уже выполнять IF?
|
|

23.10.2017, 10:23
|
Профессор
|
|
Регистрация: 04.12.2012
Сообщений: 3,802
|
|
graph91, если новая вкладка/окно открывает страницу другого домена, то модифицировать его DOM не получится.
|
|

23.10.2017, 11:54
|
Новичок на форуме
|
|
Регистрация: 22.10.2017
Сообщений: 7
|
|
Сообщение от Nexus
|
graph91, если новая вкладка/окно открывает страницу другого домена, то модифицировать его DOM не получится.
|
Сайт один и тотже, значит и домен один и тотже, верно?
|
|

23.10.2017, 12:17
|
Профессор
|
|
Регистрация: 04.12.2012
Сообщений: 3,802
|
|
graph91, попробуйте заменить событие "DOMContentLoaded" на "load".
"load" нужно вешать на window, не на document.
Т.е. так:
d.addEventListener('load', function(){
|
|

23.10.2017, 14:57
|
Новичок на форуме
|
|
Регистрация: 22.10.2017
Сообщений: 7
|
|
Сообщение от Nexus
|
graph91, попробуйте заменить событие "DOMContentLoaded" на "load".
"load" нужно вешать на window, не на document.
Т.е. так:
d.addEventListener('load', function(){
|
Вы лучший! Это помогло,текст добавляется, большое спасибо!
Может быть тогда Вы подскажете, как имитировать нажатие мышки на кнопу, а именно активировать Button.
Картинку со структурой "отправить" приложил.
Буду очень Вам благодарен.
|
|

23.10.2017, 15:07
|
Профессор
|
|
Регистрация: 04.12.2012
Сообщений: 3,802
|
|
graph91, Прочитайте эту статью, она поможет разобраться.
|
|
|
|