ifelse заявление с iFrames - PullRequest
       1

ifelse заявление с iFrames

2 голосов
/ 14 февраля 2011

У меня есть iframe, и я хотел бы сделать условие if, что если источник iframe равен указанной странице, то div должен показать:

Пример

if(getElementById('iframe').src = 'someurl'){
getElementById('div').style.display. = 'block';
}

Проблема

Я не являюсь экспертом в JS, но когда я использую этот скрипт, iframe автоматически загружает "someurl" по мере загрузки главной страницы, чего я не делаюЯ хочу, чтобы div отображался при изменении источника iframe на someurl по ссылке.Ссылка работает нормально, и она меняет iframe src, но оператор if не работает.

Ответы [ 3 ]

5 голосов
/ 14 февраля 2011
  • = - это задание
  • == - это тест на равенство
  • === - это тест на равенство без приведения типа (иобычно предпочтительнее ==

Используйте ===, а не =.

Тогда вам нужно правильно сослаться на getElementById. Это метод documentобъект, а не глобальный.

Используйте document.getElementById не getElementById

Затем вам нужно избавиться от конечного символа . в свойстве display.

Затем, если вы хотите обновить это при переходе по ссылке в фрейме, а не только при переходе по ссылке на текущей странице, вам необходимо периодически перезапускать функцию, чтобы увидеть, изменилась ли она.

setInterval(yourFunctionName, 5000); 

Тогда, поскольку страница может отойти от искомого URL, вам нужно добавить оператор else

function yourFunctionName () {
    var div = document.getElementById('div'); /* Really? Your unique ID for a specific div is 'div'?! */
    if(document.getElementById('iframe').src === 'someurl'){
        div.style.display = 'block';
    } else {
      div.style.display = 'none';
    }

}
3 голосов
/ 14 февраля 2011
    if(document.getElementById('iframe').src == 'someurl'){
          document.getElementById('yourdiv').style.display = 'block';
    }

используйте == вместо =. Вы присваиваете src значение вместо проверки состояния.

используйте == или ===

0 голосов
/ 14 февраля 2011

У вас есть ошибка в

if(getElementById('iframe').src = 'someurl')

= это присвоение, но вы должны проверить условие.Используйте ==.Вы можете поменять условие, чтобы устранить ошибки, как это.Вот пример:

if('someurl' == getElementById('iframe').src)

Базовая идея состоит в том, что константа должна быть оставлена ​​частью сравнения.И если вы случайно напишите задание вместо сравнения, я получу более четкую ошибку.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...