Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 10.12.2019, 17:45
Новичок на форуме
Отправить личное сообщение для Andreyy277 Посмотреть профиль Найти все сообщения от Andreyy277
 
Регистрация: 10.12.2019
Сообщений: 6

Как выполнить фрагмент кода в конкретном контексте
Как выплнить код в конкретном контексте. Вот есть сайт, я на нем с помощью гугл хроома нажимаю кнопки, и все хорошо работает, но когда я хочу заполнить один input, то элемент банально не находится.

Но если поменять js контекст то элемент находится.

Так вот вопрос, как сделать полноценный скрипт, который будет выполнять все нужные задачи на странице? Как при глобальном контексте найти этот input?
Ответить с цитированием
  #2 (permalink)  
Старый 10.12.2019, 18:51
Аватар для Aetae
Тлен
Отправить личное сообщение для Aetae Посмотреть профиль Найти все сообщения от Aetae
 
Регистрация: 02.01.2010
Сообщений: 6,480

"Контекст" - это просто (i)frame на странице. Если (i)frame того же домена - то можно работать из родителя(получить элемент <(i)frame>, получить у него contentWindow). Если (i)frame чужой - то только используя всякую особую магию расширений.
__________________
29375, 35
Ответить с цитированием
  #3 (permalink)  
Старый 10.12.2019, 22:49
Новичок на форуме
Отправить личное сообщение для Andreyy277 Посмотреть профиль Найти все сообщения от Andreyy277
 
Регистрация: 10.12.2019
Сообщений: 6

Этот фрейм (cvv) дочерний, как к нему обратиться из top?
Ответить с цитированием
  #4 (permalink)  
Старый 10.12.2019, 23:21
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,064

Andreyy277,
document.querySelector('iframe').contentWindow.document.get...
Ответить с цитированием
  #5 (permalink)  
Старый 10.12.2019, 23:39
Новичок на форуме
Отправить личное сообщение для Andreyy277 Посмотреть профиль Найти все сообщения от Andreyy277
 
Регистрация: 10.12.2019
Сообщений: 6


видимо я ошибся, у cvv немного другой домен. Хотя вроде он под top, как обратиться к нему в таком случае? Если выбрать контекст cvv то я спокойно нахожу нужное поле, но в top не получается. Может как-то можно к нему обратиться?
Ответить с цитированием
  #6 (permalink)  
Старый 11.12.2019, 00:53
Новичок на форуме
Отправить личное сообщение для Andreyy277 Посмотреть профиль Найти все сообщения от Andreyy277
 
Регистрация: 10.12.2019
Сообщений: 6

var a = document.getElementsByClassName('cvv');
a[0].contentWindow.document.getElementsByName('cardCvc');

Думал получилось, но все-таки они на разных доменах

Хотя, казалось бы, это просто input на странице.Что делать в таком случае?
Ответить с цитированием
  #7 (permalink)  
Старый 11.12.2019, 00:55
Новичок на форуме
Отправить личное сообщение для Andreyy277 Посмотреть профиль Найти все сообщения от Andreyy277
 
Регистрация: 10.12.2019
Сообщений: 6

мне нужно только 3 цифры вписать в этот input...
Ответить с цитированием
  #8 (permalink)  
Старый 11.12.2019, 01:37
Аватар для Aetae
Тлен
Отправить личное сообщение для Aetae Посмотреть профиль Найти все сообщения от Aetae
 
Регистрация: 02.01.2010
Сообщений: 6,480

Страдать, что ещё.

Откуда ваш код берётся на этой странице?
Если запускаете из консоли - без вариантов.(теоретически там может быть какое-то внутреннее апи для межфреймового общения, но реверсить его, даже если оно есть - вне ваших навыков)
Если пишете юзерскрипт - делаете по скрипту для каждого домена(или один на оба, с условием) и вручную налаживаете общение меж ними(например через postMessage).
Если пишете отдельное расширение - там есть возможность работать с чужими доменами из привилегированного кода.

P.S. А лучше займитесь чем-нить не столь подозрительным.
__________________
29375, 35

Последний раз редактировалось Aetae, 11.12.2019 в 01:39.
Ответить с цитированием
  #9 (permalink)  
Старый 11.12.2019, 02:28
Новичок на форуме
Отправить личное сообщение для Andreyy277 Посмотреть профиль Найти все сообщения от Andreyy277
 
Регистрация: 10.12.2019
Сообщений: 6

Можете какую-то литературу посоветовать для запуска скриптов для определенного домена, ну и как им взаимодействовать ?
Ответить с цитированием
  #10 (permalink)  
Старый 11.01.2020, 04:19
Новичок на форуме
Отправить личное сообщение для AndriidZIUBA Посмотреть профиль Найти все сообщения от AndriidZIUBA
 
Регистрация: 11.01.2020
Сообщений: 1

Помогите чайнику
Есть задача, для первоклашек, но я чайник полный. Согласно правилам задачи, в кинотеатре доступ на фильм ограничен с 13 лет и выше, проход для детей младше 13 лет только в сопровождении родителей. нам дано:


let age = 12;
let accompanied = true;
???

Завершить задачу, используя переменные age и accompanied, чтобы узнать, разрешен ли проход в кино для даного 12летнего ребенка? А также изменив параметры возраста на 13 и отсутствие сопровождения:

let age = 13;
let accompanied = false;
???


Спасибо заранее за помощь, буду благодарен. Не ругайте строго чайника. Знаю, что задача ну совсем элементарная, но вынужден просить о помощи.
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как заменить цепочку кода в DOM другой строкой? SashaFlowSet Events/DOM/Window 2 11.03.2015 10:47
Как выполнить действие при клике по ссылке? sovka Общие вопросы Javascript 2 04.02.2014 07:05
как изментить функцию прямо из кода!! magavnuk Events/DOM/Window 2 27.12.2009 10:33
Как выполнить функцию с задержкой? AlexMak Events/DOM/Window 6 11.12.2008 11:53
как выполнить движение объекта scuter Элементы интерфейса 5 08.06.2008 23:57