为什么不用js设置frame src显示显示源?

时间:2011-04-30 07:15:10

标签: javascript html css html5 scripting

基于JS条件,我想要发生两件事中的任何一件;

  1. 要么在页面上显示一个框架 OR
  2. 在页面上显示“显示pdf”的链接.. 显示pdf
  3. 现在我知道如何根据JS条件进行显示/隐藏,我的问题是 如果满足第二个条件,我不仅要隐藏框架内容,还要确保它不在后台加载...... 我认为使用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 个答案:

答案 0 :(得分:1)

为什么不在脚本中动态添加元素到容器元素?类似的东西(假设你使用的是jQuery):

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

这将确保仅加载要加载的项目。

答案 1 :(得分:0)

您可以使用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>

您还可以使该脚本响应事件,以便在需要时显示该框架。有一些工作要做,以便页面中出现的框架不会完全破坏您的布局。