Load different pages with in a single iframe

2019-09-20 13:31发布

问题:

        hi guys, 

This is the extension of the question Auto redirecting to another pages at regular intervels.

        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>

This is the body part

    <?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;

how to change this code to load links ,intead of showing only their links?

I simply want to I want to just auto load every page randomly at a regular intervals. For example, if i entered to facebook.com , it would be auto load randomly profile.php, notifications.php, messages.php etc... I am not sure about its practicality.

Any solution?

回答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>