2013-12-21 5 views
-1
 hi guys, 

이것은 Auto redirecting to another pages at regular intervels의 연장입니다.하나의 iframe에 다른 페이지로드하기

 from there i got an idea to use sleep(value). 

     I've developed a code here. 

     <!------- Here goes script> 

       <script type="text/javascript"> 

      //Input the IDs of the IFRAMES you wish to dynamically resize to match its content height: 
      //Separate each ID with a comma. Examples: ["myframe1", "myframe2"] or ["myframe"] or [] for none: 
      var iframeids=["myframe"] 

      //Should script hide iframe from browsers that don't support this script (non IE5+/NS6+ browsers. Recommended): 
      var iframehide="yes" 

      var getFFVersion=navigator.userAgent.substring(navigator.userAgent.indexOf("Firefox")).split("/")[1] 
      var FFextraHeight=parseFloat(getFFVersion)>=0.1? 16 : 0 //extra height in px to add to iframe in FireFox 1.0+ browsers 

      function resizeCaller() { 
      var dyniframe=new Array() 
      for (i=0; i<iframeids.length; i++){ 
      if (document.getElementById) 
      resizeIframe(iframeids[i]) 
      //reveal iframe for lower end browsers? (see var above): 
      if ((document.all || document.getElementById) && iframehide=="no"){ 
      var tempobj=document.all? document.all[iframeids[i]] : document.getElementById(iframeids[i]) 
      tempobj.style.display="block" 
      } 
      } 
      } 

      function resizeIframe(frameid){ 
      var currentfr=document.getElementById(frameid) 
      if (currentfr && !window.opera){ 
      currentfr.style.display="block" 
      if (currentfr.contentDocument && currentfr.contentDocument.body.offsetHeight) //ns6 syntax 
      currentfr.height = currentfr.contentDocument.body.offsetHeight+FFextraHeight; 
      else if (currentfr.Document && currentfr.Document.body.scrollHeight) //ie5+ syntax 
      currentfr.height = currentfr.Document.body.scrollHeight; 
      if (currentfr.addEventListener) 
      currentfr.addEventListener("load", readjustIframe, false) 
      else if (currentfr.attachEvent){ 
      currentfr.detachEvent("onload", readjustIframe) // Bug fix line 
      currentfr.attachEvent("onload", readjustIframe) 
      } 
      } 
      } 

      function readjustIframe(loadevt) { 
      var crossevt=(window.event)? event : loadevt 
      var iframeroot=(crossevt.currentTarget)? crossevt.currentTarget : crossevt.srcElement 
      if (iframeroot) 
      resizeIframe(iframeroot.id); 
      } 

      function loadintoIframe(iframeid, url){ 
      if (document.getElementById) 
      document.getElementById(iframeid).src=url 
      } 

      if (window.addEventListener) 
      window.addEventListener("load", resizeCaller, false) 
      else if (window.attachEvent) 
      window.attachEvent("onload", resizeCaller) 
      else 
      window.onload=resizeCaller 

      </script> 

이 몸 부분은

<?php 
$link1="<a href=\"javascript:loadintoIframe('myframe', 'http://example.com/index.php')\">Home</a>"; 
$link2= "<a href=\"javascript:loadintoIframe('myframe', 'http://example.com/about.php')\">About Us</a>"; 

$buffer1 = str_repeat(" ", 4096); 
    $buffer2 = str_repeat(" ", 4096); 


echo $link1; 
echo $buffer1; 
ob_flush(); 
sleep(5); 
echo $link2; 

방법 그들의 링크를 보여주는의 intead 링크를로드하려면이 코드를 변경하는 것입니다?

나는 모든 페이지를 임의의 간격으로 자동로드하고 싶습니다. 예를 들어, facebook.com에 들어갔다면 자동으로 무작위로 profile.php, notifications.php, messages.php 등으로로드됩니다 ... 그 실용성에 대해서는 잘 모르겠습니다.

Any solution? 
+0

는 IE5.5 – epascarello

+0

아를 지원하는 등의 아무것도, 나는 IE5 및 Netscape 6 주석을 볼 수 없습니다 "document.all". 1999 년부터 브라우저를 겨냥한 코드. 날짜가 좀 이상하다고 생각합니다. – epascarello

+0

PHP 코드와 JavaScript 코드가 동시에 실행되지 않는다는 것을 알고 있습니까? 다른 페이지로 다시 수정하려면 JavaScript에서 setTimeout()을 사용해야합니다. – epascarello

답변

1
<script> 
    var interval = 5; // in seconds 
    var pages = [ 
    'http://facebook.com/profile.php', 
    'http://facebook.com/notifications.php', 
    'http://facebook.com/messages.php' 
    ]; 
    var current_page_index = 0; 

    setInterval(function() { 
    loadintoIframe('myframe', pages[current_page_index]); 
    current_page_index = (current_page_index + 1) % pages.length; 
    }, interval * 1000); // second setInterval param is milliseconds 
</script> 
+0

와우, 그게 내가 원하는, 고마워요 !!! –

+1

전혀 문제가되지 않습니다. – loushou

관련 문제