Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 22.10.2017, 23:19
Профессор
Отправить личное сообщение для Sonya Посмотреть профиль Найти все сообщения от Sonya
 
Регистрация: 07.07.2016
Сообщений: 273

Передача переменной из фрейма
Здравствуйте! Искала в интернете, так и понятно-рабочий код не нашла. Как значение переменной из фрейма передать на страницу родителя в скрипт. Например, переменную var a=1 (переменная в фрейме), передать в скрипт на странице родителя, и как её на последней принять по условию, если а=1, то будет это, если иначе, то другое. Помогите, пожалуйста.

Последний раз редактировалось Sonya, 22.10.2017 в 23:33.
Ответить с цитированием
  #2 (permalink)  
Старый 23.10.2017, 00:07
Профессор
Отправить личное сообщение для Rasy Посмотреть профиль Найти все сообщения от Rasy
 
Регистрация: 17.06.2016
Сообщений: 509

невозможно
Ответить с цитированием
  #3 (permalink)  
Старый 23.10.2017, 04:01
Аватар для ruslan_mart
Профессор
Отправить личное сообщение для ruslan_mart Посмотреть профиль Найти все сообщения от ruslan_mart
 
Регистрация: 30.04.2012
Сообщений: 3,018

Sonya, объявить функцию в родителе и вызывать её с нужным параметром.

Родитель:
function myFunc(value) {
   if(value === 1) {
       console.log(true);
   }
}


IFrame:
var a = 1;

//...

parent.myFunc(a);
Ответить с цитированием
  #4 (permalink)  
Старый 23.10.2017, 07:36
Профессор
Отправить личное сообщение для Sonya Посмотреть профиль Найти все сообщения от Sonya
 
Регистрация: 07.07.2016
Сообщений: 273

ruslan_mart, спасибо, то что нужно!
Ответить с цитированием
  #5 (permalink)  
Старый 23.10.2017, 13:21
Профессор
Отправить личное сообщение для Rasy Посмотреть профиль Найти все сообщения от Rasy
 
Регистрация: 17.06.2016
Сообщений: 509

ruslan_mart,
Нечаянно впулил минус. Много код пишу...
А разве политика безопасности не заблочит такое общение ифреймов.
Ответить с цитированием
  #6 (permalink)  
Старый 23.10.2017, 13:44
Профессор
Отправить личное сообщение для Dilettante_Pro Посмотреть профиль Найти все сообщения от Dilettante_Pro
 
Регистрация: 27.11.2015
Сообщений: 2,899

Rasy, не блочит
<script>
 function myFunc(value) {
   if(value === 1) {
       console.log(true);
   }
}
</script>
<iframe id = 'ifr'>

</iframe>
<script>
  ifr.contentWindow.document.write('\<script\>var a = 1; parent.myFunc(a);\</script\>');

</script>

Последний раз редактировалось Dilettante_Pro, 23.10.2017 в 13:47.
Ответить с цитированием
  #7 (permalink)  
Старый 23.10.2017, 14:22
Профессор
Отправить личное сообщение для Rasy Посмотреть профиль Найти все сообщения от Rasy
 
Регистрация: 17.06.2016
Сообщений: 509

Dilettante_Pro,
Хорошо, а если подключать страницу в iframe, где будет скрипт вызова функции.
Ответить с цитированием
  #8 (permalink)  
Старый 23.10.2017, 14:56
Аватар для ruslan_mart
Профессор
Отправить личное сообщение для ruslan_mart Посмотреть профиль Найти все сообщения от ruslan_mart
 
Регистрация: 30.04.2012
Сообщений: 3,018

Сообщение от Rasy
ruslan_mart,
Нечаянно впулил минус. Много код пишу...
Бывает-бывает

Сообщение от Rasy
А разве политика безопасности не заблочит такое общение ифреймов.
Заблочит только в том случае, если домены разные. В случае с разными доменами - можно общаться через postMessage.

Родитель:
window.addEventListener('message', function(event) {
    var a = event.data;

    if(a === 1) {
        console.log(true);
    }
});



IFrame:
var a = 1;

//...

parent.postMessage(a, '*');
Ответить с цитированием
  #9 (permalink)  
Старый 23.10.2017, 15:34
Профессор
Отправить личное сообщение для Dilettante_Pro Посмотреть профиль Найти все сообщения от Dilettante_Pro
 
Регистрация: 27.11.2015
Сообщений: 2,899

Rasy,
Сообщение от Rasy
где будет скрипт вызова функции
В каком смысле? Где размещать?
В скрипте iframe где-то после того, как нужная переменная получает/изменяет значение.

Кроссдоменно работать не будет - значит, своя страница для iframe - писать в ее скрипт то, что нужно,

Последний раз редактировалось Dilettante_Pro, 23.10.2017 в 15:36.
Ответить с цитированием
  #10 (permalink)  
Старый 23.10.2017, 18:38
Профессор
Отправить личное сообщение для Rasy Посмотреть профиль Найти все сообщения от Rasy
 
Регистрация: 17.06.2016
Сообщений: 509

Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
передача переменной yintar Элементы интерфейса 10 04.05.2017 11:06
Передача переменной в функцию jankovsky Общие вопросы Javascript 4 26.08.2013 18:58
передача переменной в функцию timeout alfmaster Javascript под браузер 5 20.09.2011 18:40
Передача переменной между ifarame-ами DeUre Events/DOM/Window 1 15.06.2010 09:22
Передача переменной между ifarame-ами DeUre Javascript под браузер 0 10.06.2010 08:29