Почему настройка фрейма src на js не показывает источник отображения? - PullRequest
0 голосов
/ 30 апреля 2011

Исходя из условия JS, я хочу, чтобы произошла одна из двух вещей:

  1. Либо показать рамку на странице ИЛИ
  2. Показать ссылку "Показать PDF" настраница .. Показать pdf

Теперь, когда я знаю, как сделать Show / Hide на основе условия JS, мой вопрос: если 2-е условие выполнено, я не только хочу скрыть рамкувещь, НО убедитесь, что он не загружается в фоновом режиме ... Я думаю, что использование show / hide не помешает ему загрузить pdf в фоновом режиме. Поэтому мой вопрос, как я могу добиться этого с помощью Javascript?

********** Вот что я пытаюсь **********

if(isiPad) 
        {     
        $('#content').attr('src','ipad_frame.html'); 
        } 
        else 
        {     
        $('#content').attr('src','xyz.pdf'); 
        } 

А в html у меня есть

 <frame src="#" title="Content Frame" name="content" id="content" />

Будет ли это работать нормально?По некоторым причинам я только что протестировал его, и хотя он идет в части if / else, он не показывает соответствующее содержимое ..

Ответы [ 2 ]

1 голос
/ 30 апреля 2011

Почему бы не добавить элементы динамически в сценарии к элементу контейнера? Что-то вроде (при условии, что вы используете jQuery):

if(condition)
{
    $('#container').html('<html for frame>');
}
else
{
    $('#container').html('<html for pdf>');
}

Это обеспечит загрузку только того элемента, который вы хотите загрузить.

0 голосов
/ 30 апреля 2011

Вместо того, чтобы показывать / скрывать, вы можете использовать DOM для изменения содержимого страницы:

<div id="frameWillBeHere">

</div>

<script language="javascript">

var f = document.getElementById('frameWillBeHere');

if (whatever) {
   f.innerHTML = '<iframe>pdf file</iframe>';
}
else {
   f.innerHTML = 'something else';
}

</script>

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

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