This was something that was working for us in APEX 4.2 but is not working for us in APEX 5. We moved from APEX 4.2 to APEX 5.0 while keeping the same theme, Theme 25.
I looked online and didn't find a solution. I set up a demo in apex.oracle.com and it is not working there either. The link is https://apex.oracle.com/pls/apex/f?p=85890:10
In the "External Report" page, page 10, I have a PL/SQL region with the following code which opens page 12 as an IFrame:
{code}
DECLARE
l_link varchar2(4000) ;
BEGIN
l_link := 'f?p=' || :APP_ALIAS || ':12:' || :APP_SESSION;
l_link := apex_util.prepare_url(l_link);
htp.p('<iframe src="' || l_link || '" id="iframe_page" ></iframe>');
END;
{code}
Page 12 has a PL/SQL region with the following code:
{code}
BEGIN
htp.p('IFrame Content');
apex_util.redirect_url('http://www.oracle.com');
END;
{code}
I made sure to go into the browser security tab of the security tab of the application properties and set Embed in Frames to Allow.
When I try running page 10 my page 10 region is blank. If I try looking at the html by running {code}$("#iframe_page").contents().find("html").html() {code} from the console, I get {code} "<head></head><body></body>"{code} so page 12 isn't being rendered at all it seems.
Again, this was working under 4.2 so the concept of using an IFrame for this seems sound to me.
If you would like to see the code:
workspace: jackiewomble
username: demo
password: demo
Application: 85890 "Demos APEX 5 Theme 25"
Page 10 "External Reports" tab
Thanks,
Jackie
Edit - added {code} tags.