jQuery 在 iframe 中加载动态页面

声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow 原文地址: http://stackoverflow.com/questions/15863682/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me): StackOverFlow

提示:将鼠标放在中文语句上可以显示对应的英文。显示中英文
时间:2020-08-26 15:55:08  来源:igfitidea点击:

JQuery load dynamic page in iframe

jqueryiframe

提问by conmen

I want to load dynamic page into an iframe through navigation menus, if I choose menu option FAQ, iframe will located faq.phppage to srcattribute, and so on.

我想通过导航菜单将动态页面加载到 iframe 中,如果我选择 menu option FAQ,iframe 会将faq.php页面定位到src属性,依此类推。

How could I dynamically assign menu's page into below?

如何将菜单页面动态分配到下面?

Jquery:

查询:

<script type="text/javascript">
$(document).ready(function() {
    $("#mainFrame").attr("src", "faq.php");
});
</script>


<div class="content">
    <div class="left">
        <ul id="menu">
            <li><a href="#">Banking</a></li>
            <li><a href="#">How To Join</a></li>
            <li><a href="#">FAQ</a></li>
            <li><a href="#">Contact Us</a></li>
            <li><a href="#">Help</a>
                <ul>
                    <li><a href="#">Subscribe</a></li>
                    <li><a href="#">Recipe</a></li>
                </ul>
            </li>
            <li><a href="#">Terms &amp; Conditions</a></li>
        </ul>
    </div>
    <div class="right">
        <div>Title</div>
        <div><iframe src="" frameborder="0" id="mainFrame" name="mainFrame"></iframe></div>
    </div>
</div>

Please advise, thanks.

请指教,谢谢。

回答by Eli

I would suggest you using a class for all you link as well as passing the name of the file you want to load in the iframe using data attribute:

我建议您为所有链接使用一个类,并使用 data 属性传递要在 iframe 中加载的文件的名称:

<li><a class="anchor" data-url="faq.php" href="#">FAQ</a></li>
<li><a class="anchor" data-url="about.php" href="#">Contact Us</a></li>
<li><a class="anchor" data-url="help.php" href="#">Help</a>
    <ul>
        <li><a class="anchor" data-url="subscribe.php" href="#">Subscribe</a></li>
        <li><a class="anchor" data-url="recipe.php" href="#">Recipe</a></li>
    </ul>
</li>
<li><a class="anchor" data-url="term.php" href="#">Terms &amp; Conditions</a></li>

Then you can use jQuery to load the content of the iframe dynamically using:

然后,您可以使用 jQuery 动态加载 iframe 的内容:

$(".anchor").each(function(){
    var el = $(this);
    el.click(function() {
        $("#mainFrame").attr("src", el.data('url'));
    })
})

Working Demo

Working Demo

回答by Kai23

Simply like that :

就像那样:

<body>
    <div class="content">
        <div class="left">
            <ul id="menu">
                <li><a href="#">Banking</a></li>
                <li><a href="#">How To Join</a></li>
                <li><a href="#" id="faq">FAQ</a></li>
                <li><a href="#">Contact Us</a></li>
                <li><a href="#">Help</a>
                    <ul>
                        <li><a href="#">Subscribe</a></li>
                        <li><a href="#">Recipe</a></li>
                    </ul>
                </li>
                <li><a href="#">Terms &amp; Conditions</a></li>
            </ul>
        </div>
        <div class="right">
            <div>Title</div>
            <div><iframe src="" frameborder="0" id="mainFrame" name="mainFrame"></iframe></div>
        </div>
    </div>
</body>

<script type="text/javascript">
$("#faq").click(function () { 
      $("#mainFrame").attr("src", "faq.php");
});
</script>