Próbowałem tego już od jakiegoś czasu i przyjrzałem się innym odpowiedziom na podobne pytania na SO, ale kiedy próbuję zmienić atrybut src iframe, to aktualizuje go dla całego okno. Oto następujący kod używam, że działa poprawnie (nie jQuery):Zmieniając źródło iframe z jquery
<html>
<head>
<style type="text/css">
iframe#ifrm {
border:none;
padding:.5em;
margin:1.5em 0 1em;
width:100%;
height:100%;
}
</style>
<script src="./js/jquery-1.4.2.js" type="text/javascript"></script>
<script type="text/javascript">
// <![CDATA[
// !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
// this is the function I'm trying to replace:
function loadIframe(iframeName, url) {
if (window.frames[iframeName]) {
window.frames[iframeName].location = url;
return false;
}
return true;
}
// ]]>
</script>
</head>
<body>
<ul>
<li><a href="http://www.google.com/" onclick="return loadIframe('ifrm', this.href)">Page 1</a> </li>
<li><a href="tabs.html" onclick="return loadIframe('ifrm', this.href)">Page 2</a></li>
</ul>
<div class="iframe">
<iframe name="ifrm" id="ifrm" src="tabs.html" frameborder="0">
Your browser doesn't support iframes.</iframe>
Jak powiedziałem, próbowałem
$('#ifrm').attr('src', "http://www.google.com")
który wyświetla stronę, ale nie w iframe. Jestem naprawdę tylko nauka jQuery, ale nie mogę dowiedzieć się, co różni się o mojej sytuacji niż inne podobne pytania jak to:
Dzięki.
można wspomnieć, że wyświetla stronę, ale nie w iframe, jesteś pewna, że to kwestia jQuery i CSS nie problem? Być może możesz włączyć ramki, aby sprawdzić, czy ramka zmienia wymiary podczas ładowania nowej strony. – Mayo