Nomads | Philosophy | Index
NOMADS: | IFrame-Host | IFrame-Host-Demo | Sic et Non | IFrame-Source | HowTo
The iFrameHost project has been developed to work where one webpage uses iFrames to embed the content of another page.
This might be to include a media player, or some web-based application from one page within the hosting page.
This can be very useful when using a content management system such as PmWiki
The principle is simple enough, but it has taken a while to develop a reliable version, due to some special requirements.
Current security features of most Web Browsers will not allow modification of the content of a page hosted within an iFrame, if that page is not hosted on the same domain, using the same port and protocol as the host webpage.
For simplicity, as a developer, the Host file has been designed to inject the Guest JavaScript file into the Guest page, which works nicely for single-site applications--as you only need to edit the Host page. However, if you wish to use Cross-Origin hosting, you will need to be able to edit the content of Both pages.
Files:
You will need a reference in your hosting page's html to the iframe_host.js
If your host page and guest page are both on
THEN:
iframe_host.js and iframe_guest.js must be in the same directory.
the <iframe> tag in your html needs: class="BridgeFrame"
Otherwise:
the guest page MUST include a reference to a copy of iframe_guest.js
the <iframe> tag in your html needs: class="BridgeFrame" you may wish to add crossorigin="anonymous" as an attribute as well
If the first method fails, even with same domain,port & protocol then try the second method.
Files:
Add the following lines to your {pmwiki}/local/Config.php file
## Include Code for BridgeSite - iFrame insertion tool recipe include_once ('cookbook/BridgeSite.php') ; ## Insert the iframe_host.js script to the bottom of your Skin template. $HTMLFooterFmt['BridgeSite'] = '<script src="$FarmPubDirUrl/iframe_host.js"></script>' ;