Javascript.RU

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

Взаимодействие между "чужими" скриптами
Здравствуйте!
Есть такая ситуация. Страница HTML (основной код на PHP, содержит JS и HTML), загружает посредством вставки <object> через innerHTML другую полноценную страницу HTML, содержащую также и JS. "Чужая" страница успешно стартует, запускает весь необходимый код и находится полностью в рабочем состоянии. Внутри скрипта чужой страницы есть такая часть кода:
window.fun1 = () => {
};

Насколько я понимаю, это обработчик события. Необходимо его вызвать из кода основной страницы HTML. Перепробовал множество вариантов решения, но ни один не помогает.
Ответить с цитированием
  #2 (permalink)  
Старый 09.08.2024, 16:01
Аватар для voraa
Профессор
Отправить личное сообщение для voraa Посмотреть профиль Найти все сообщения от voraa
 
Регистрация: 03.02.2020
Сообщений: 2,743

Сообщение от alxdef
Насколько я понимаю, это обработчик события.
Почему событие? Какое? Обычно свойства, содержащие обработчики событий начинаются с on: onclick, onchange...

Обратиться к элементам и window страницы содержащейся в <object> или <iframe> можно с помощью свойств contentWindow и contentDocument этого элемента.

Типа
<object id="obj">....</object>


const obj = document.getElementById('obj');
obj.contentWindow.fun1();


Основная страница и встроенная страница должны загружаться с одного домена. Иначе будут CORS ошибки.

Последний раз редактировалось voraa, 09.08.2024 в 16:05.
Ответить с цитированием
  #3 (permalink)  
Старый 09.08.2024, 16:06
Новичок на форуме
Отправить личное сообщение для alxdef Посмотреть профиль Найти все сообщения от alxdef
 
Регистрация: 09.08.2024
Сообщений: 3

Сообщение от voraa Посмотреть сообщение
Почему событие? Какое? Обычно свойства, содержащие обработчики событий начинаются с on: onclick, onchange...

Обратиться к элементам и window страницы содержащейся в <object> или <iframe> можно с помощью свойств contentWindow и contentDocument этого элемента.

Типа
<object id="obj">....</object>


const obj = document.getElementById('obj');
obj.contentWindow.fun1();
Я не силен в JS, но, может, подскажете, что это за конструкция? Эта часть кода находится вне какой-либо функции.
Ответить с цитированием
  #4 (permalink)  
Старый 09.08.2024, 16:12
Новичок на форуме
Отправить личное сообщение для alxdef Посмотреть профиль Найти все сообщения от alxdef
 
Регистрация: 09.08.2024
Сообщений: 3

Спасибо!
Заработало.
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как сделать кнопки для переключения между найденными элементами? fizz5360 Общие вопросы Javascript 1 19.10.2018 09:45
взаимодействие между навигацией слайдера dikucher Events/DOM/Window 0 27.11.2013 17:47
Конфликт между скриптами serg_29rus Общие вопросы Javascript 10 10.03.2013 13:07
Конфликт между двумя скриптами karencho777 Общие вопросы Javascript 3 03.03.2013 12:51
Взаимодействие между фреймами Herclia Элементы интерфейса 0 18.05.2011 03:26