Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/411.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 当href标记<;时,在iframe中加载整个页面;a>;点击 var htmlResponse=“检查iframe场景索引_Javascript_Jquery_Html_Iframe - Fatal编程技术网

Javascript 当href标记<;时,在iframe中加载整个页面;a>;点击 var htmlResponse=“检查iframe场景索引

Javascript 当href标记<;时,在iframe中加载整个页面;a>;点击 var htmlResponse=“检查iframe场景索引,javascript,jquery,html,iframe,Javascript,Jquery,Html,Iframe,”; $(文档).ready(函数(){ $('').appendTo('#datadiv').contents().find('body').append(htmlResponse); }); 每当我单击html响应中的任何href标记时,整个页面(包括iframe)都会被加载,因此它会在iframe中创建一个类似堆栈的结构。您可以这样尝试 <body> <div id='datadiv'> </div> <

”; $(文档).ready(函数(){ $('').appendTo('#datadiv').contents().find('body').append(htmlResponse); }); 每当我单击html响应中的任何href标记时,整个页面(包括iframe)都会被加载,因此它会在iframe中创建一个类似堆栈的结构。

您可以这样尝试

 <body> 
      <div id='datadiv'>    </div>
      <script>

                 var htmlResponse="<html><head><h2> Checking iframe scenario</h2><h1>       INDEX </h1><p><a href=\"#First\"> First </a> </p><p><a href=\"#Second\"> Second </a> </p>   <p><a href=\"#Third\"> Third </a></p>   </head> <body>  </body></html>";        

            $(document).ready(function(){           

        $('<iframe     id="checkOther"/>').appendTo('#datadiv').contents().find('body').append(htmlResponse);   
    });     
     </script>
</body>

$(文档).ready(函数(){
$('.ajaxload')。单击(函数(){
$('#content_div').load($(this.attr('id')+'.html');
});
});
希望能帮你谢谢

解决方案2

<script lang='javascript'>
        $(document).ready(function(){
            $('.ajaxload').click(function(){
                $('#content_div').load($(this).attr('id')+'.html');
            });
        });
</script>

<nav>
    <ul>
       <li><a class='ajaxload' href="javascript:void(0)" id='page1'>Page 1</a></li>
       <li><a class='ajaxload' href="javascript:void(0)" id='page2'>Page 2</a></li>
       <li><a class='ajaxload' href="javascript:void(0)" id='page3'>Page 3</a></li>
       <li><a href='#page4_content'>Page 4</a></li>
    </ul>
</nav>

<div id='content_div'>
    <!--Here your content gets loaded-->
</div>
<div id='page4_content'>
    <!--Page 4 content here-->
</div>

标题 $(“.anchor”)。每个(函数(){ var el=$(本); el.单击(函数(){ $(“#大型机”).attr(“src”,el.data('url'); }) })
您应该用httpResponse替换#content_div中的所有内容,而不是附加到它。尝试用以下内容替换iframe jQuery行:

<div class="left">
            <ul id="menu">
<li><a class="anchor" data-url="banking.php" href="#">Banking</a></li>
<li><a class="anchor" data-url="join.php" href="#">How To Join</a></li>
<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>
                </ul>
        </div>
<div class="right">
            <div>Title</div>
            <div><iframe src="" frameborder="0" id="mainFrame" name="mainFrame"></iframe>
    </div>
</div>


$(".anchor").each(function(){
    var el = $(this);
    el.click(function() {
        $("#mainFrame").attr("src", el.data('url'));
    })
})
$('').appendTo('#datadiv').replacetwith(htmlResponse);
附加到已包含
的#data_div会导致它嵌套,如:

$('<iframe id="checkOther"/>').appendTo('#datadiv').replaceWith(htmlResponse);

你可以在电脑上测试

<html>
<body>
    <html>
    <body>
    </body>
    </html>
</body>
</html>