web-dev-qa-db-ja.com

jqueryを使用してiframeのコンテンツを動的に変更するにはどうすればよいですか?

Iframeと30秒ごとにiframeのコンテンツを変更するjqueryコードを備えたサイトを作成することが可能かどうか疑問に思っていました。コンテンツは異なるWebページにあります。

このようなもの:

<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>
88
Audun
<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>
134
Anatoliy

Iframe内の実際のコンテンツではなく、iframeが指す場所を変更する場合は、src属性を変更するだけです。

 $("#myiframe").attr("src", "newwebpage.html");
8
Anthony
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;
}
4
geowa4