How can I dynamically display an external page in an iframe?

I'd like to have a single page at my site where I could dynamically display an iframe of an external URL with my branding above it, so that a URL like http://www.mysite.com/view.php?URL=www.cnn.com would automatically display in this layout:

http://cl.ly/6b7e8801e41034045e22

the way StumbleUpon's top banner looks (doesn't have to be that url structure)

Is there a way to do this in PHP or jQuery?

Thanks,

Nathan
nbierm65Asked:
Who is Participating?
 
zicevaCommented:
for this to work: <iframe id="the_iframe" src="<?php echo $_GET["URL"]; ?>"></iframe>

The URL has to begin with http://
You can tweak it a little bit, and will work either way:

<iframe id="the_iframe" src="<?php echo  substr($_GET["URL"],0,7)=="http://"?$_GET["URL"]:"http://".$_GET[URL]; ?>"></iframe>

This works if you access:
http://www.mysite.com/view.php?URL=www.espn.com
or
http://www.mysite.com/view.php?URL=http://www.espn.com
0
 
Gurvinder Pal SinghCommented:
if the iframe's id attribute value is 'iframeId' then

$("#iframeId").attr("src", "http://www.mysite.com/view.php?URL=www.cnn.com");

you can put this line whenever you want to update the iframe's content
0
 
zicevaCommented:
Why would you need it to be "dynamic"?

You can simply have view.php look like this:
<html>
<head>
<title>Whatever</title>
</head>
<body>
<div>
##Your Branding HERE##
</div>
<iframe id="the_iframe" src=<?php echo $_GET["URL"]; ?>></iframe>
</body>
</html>

Of course, you need a little CSS & stuff...

By "dynamic" one would understand that AFTER what I the code I just gave is loded, you what to change the content of only the iframe which would require a little javascript "magic" like this:

in the branding <div> you would have a button:

<input type="button" value="Other URL" onclick="document.getElementById('the_iframe').src='http://www.google.ro'">

That [i]dynamically[/i] loads www.google.ro in the iframe when pressed.
0
Free Tool: Port Scanner

Check which ports are open to the outside world. Helps make sure that your firewall rules are working as intended.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

 
nbierm65Author Commented:
Maybe 'dynamic' is the wrong word. What I mean is that I would type

http://www.mysite.com/view.php?URL=www.cnn.com

and see cnn.com in the iframe, and then type  

http://www.mysite.com/view.php?URL=www.espn.com

and see espn.com in the iframe, without any adjustments to any code--ideally without even any need to click an input button in a branding div. So in essence, how to get this

<?php echo $_GET["URL"]; ?>

to pull the external URL right from here:

http://www.mysite.com/view.php?URL=www.espn.com

without any other steps. Does that make sense?
0
 
nbierm65Author Commented:
got it, thanks!

http://nathanbweb.host22.com/try/iframe/extiframephp.html?URL=http://www.cnn.com

my question got posted twice by mistake, and in the other thread someone gave me a JS solution, if anyone's curious or would prefer that:

http://bit.ly/bhApLl
0
 
Gurvinder Pal SinghCommented:
@nbierm65: Did the jquery solution not worked?
0
 
nbierm65Author Commented:
I wasn't sure how to try it, since it seemed to be creating an iframe within which the entire URL string was called as the source. Also, it seemed that each URL would have to be hardcoded into the jQuery. (Maybe I misunderstood what you proposed.) I was looking for the iframe to call only the external URL after parsing it from the URL string (if that makes sense; I may have my terms jumbled). If you have a way to do that, so that a page like is automatically produced in jquery (and the cnn.com can be changed to any URL just by typing it into the browser bar):
http://nathanbweb.host22.com/try/iframe/extiframe.html?URL=http://www.cnn.com

I'll see if there's a way to go back and award multiple points, or re-post it as a jQuery-only question and award your solution.
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.