Zastanawiałem się, czy można mieć witrynę z ramką iframe i kodem jquery, który zmienia zawartość iframe co 30 sekund. Treść znajduje się na różnych stronach internetowych.
Coś takiego:
<html>
<head>
<script type="text/javascript" src="jquery.js"></script>
<script>
$(document).ready(function(){
var array = new array();
array[0] = 'http://webPage1.com';
array[1] = 'http://webPage2.com';
// And so on.
// Do something here to change the iframe every 30 second
});
</script>
</head>
<body>
<iframe id="frame"></iframe>
</body>
</html>
http://webPage1.com
muszą być w cudzysłowie!//
skomentuje!Odpowiedzi:
<html> <head> <script type="text/javascript" src="jquery.js"></script> <script> $(document).ready(function(){ var locations = ["http://webPage1.com", "http://webPage2.com"]; var len = locations.length; var iframe = $('#frame'); var i = 0; setInterval(function () { iframe.attr('src', locations[++i % len]); }, 30000); }); </script> </head> <body> <iframe id="frame"></iframe> </body> </html>
źródło
Jeśli chcesz tylko zmienić miejsce, w którym wskazuje element iframe, a nie rzeczywistą zawartość wewnątrz elementu iframe, wystarczy zmienić
src
atrybut.$("#myiframe").attr("src", "newwebpage.html");
źródło
load()
można by go użyć do przeładowania dowolnego okna lub obiektu dokumentu. Jak powiedziałem, nie pamiętam już, co to właściwie zrobiło. Myślę, że ogólnie starałem się przedstawić opcję, która byłaby prosta i nie wymagała negocjowania zasad tego samego pochodzenia.var handle = setInterval(changeIframe, 30000); var sites = ["google.com", "yahoo.com"]; var index = 0; function changeIframe() { $('#frame')[0].src = sites[index++]; index = index >= sites.length ? 0 : index; }
źródło