2012-01-30 2 views
0

Я разработал iframe для веб-панели для нашей благотворительной организации, которая дает мне некоторые проблемы с пользовательским интерфейсом jQuery.JQuery UI iframe issue

На фактическом iframe вкладки и гармоники не функционируют должным образом. В верхней части страницы вы увидите пару, но вы не можете переходить с одного на другой.

Странно то, что как только iframe загружается внутри нашего сайта drupal, функция iframe отлично работает. http://www.thegaiaproject.ca/data/realtime-test?location=18

К сожалению, то же самое нельзя сказать при загрузке iframe на другие сайты Wordpress.

Любые идеи? Я пытался отлаживать это часами. Я уже пробовал загружать во всех внешних скриптах, которые drupal звонит один за другим, чтобы увидеть, нужен ли один из них, но это мне не помогло.

ответ

1

Проблема в том, что страница требует, чтобы она находилась в iframe. Я заметил, что каждый раз, когда выбрана вкладка, она вызывает следующую функцию:

function sizeFrame() { 
    var F = window.parent.document.getElementById("realtime-dashboard"); 
    if(F.contentDocument) { 
     F.height = F.contentDocument.documentElement.scrollHeight+30; //FF 3.0.11, Opera 9.63, and Chrome 
    } 
    else { 
     F.height = F.contentWindow.document.body.scrollHeight+30; //IE6, IE7 and Chrome 
    }  
} 

При выполнении этой функции, он ищет родительский документ (которого там нет) и бросал ошибку F is null для меня (в Firefox Error Console), а затем отключить остальную часть javascript.

Попытайтесь применить инструкцию test-for-null if к этой функции, которая обрабатывает несуществование iframe, и я подозреваю, что это приведет к тому, что остальная часть вашей страницы будет работать по назначению.

Надеюсь, это поможет.

+0

Спасибо! Это похоже на это. Я думал об этом во время отладки, но я не вижу, как это объясняет, почему он не работает на моем сайте wordpress в качестве iframe - все еще не уверен, но он работает! – bpmccain