Advanced iFrame Plugin

Price: FREE
Sold By:

Contributors: mdempfle
Donate link:
Tags: iframe, embed, resize, zoom, content, advanced, shortcode, modify css, widget
Requires at least: 3.2
Tested up to: 5.3.2
Stable tag: 2020
Requires PHP: 5.3
License: GPLv2 or later
License URI:

Include content the way YOU like in an iframe that can hide and modify elements and foreward parameters. You can also embed content directly.

== Description ==
> **[Advanced iFrame Pro](** |
> **[Demo](**
Include content the way YOU like in an iframe that can hide and modify elements and foreward parameters. You can also embed content directly or show a part of an iframe.

= Main features of advanced iframe =
By entering the shortcode '[advanced_iframe]' you can include any webpage to any page or article.
The following cool features compared to a normal iframe are implemented:

- Security code: You can only insert the shortcode with a valid security code from the administration.
- Hide areas of the layout to give the iframe more space (see screenshot)
- Show only specific areas of the iframe when the iframe is on a same domain (The Pro version supports this on different domains) or include parts directly by jQuery
- Modify css styles in the parent and the iframe to e.g. change the width of the content area (see screenshot)
- Forward parameters to the iframe
- Resize the iframe to the content height or width on loading, AJAX or click
- Scroll the parent to the top when the iframe is loaded
- Hide the content until it is fully loaded
- Add a css and js file to the parent page
- Many additional cool features are available the pro version - see

Please note: Modification inside the iframe are only possible if you are on the same domain or use a workaround like described in the settings.

So please check first if the iframe page and the parent page are one the same domain. and are different domains! Please check in the documentation if you can use the feature you like

A free iframe checker is available at
This tool does check if a page is allowed to be included!

All settings can be set with shortcode attributes as well. If you only use one iframe please use the settings in the administration because there each parameter is explained in detail and also the defaults are set there.

**[Quick overview of all advanced iframe attributes](**

= Limitations of the free version =
The free version has no functional restrictions and is for personal and non-commercial sites. After 10.000 views/month the iframe is still working but below the iframe a small "powered by" notice with a link to the pro version is shown. If you hit this limit and you qualify for the free license please contact me to get a version with a higher limit.

= Upgrading to Advanced IFrame Pro =
It's quick and painless to get Advanced iFrame Pro. Simply Get Advanced iFrame Pro on ( and install your new plugin! You can than use the plugin on commercial, business, and professional sites and blogs. You furthermore get:

* Show only specific areas of the iframe even when the iframe is on different domain
* Graphical content selector:
* External workaround supports iframe modifications
* Widget support
* No view limit
* Hide areas of an iframe
* Responsive iframes
* Browser detection
* Change link targets
* Url forward parameter mapping.
* Zoom iframe content
* Accordion menu
* jQuery help
* Lazy load
* Standalone version - can be used in ANY php page!
* And much more...

In the free version you can enable the pro administration. So you can see which settings are available there.

You can find the comparison chart here:
See the pro demo here:

= Administration =
* Go to Settings -> Advanced iFrame

= Quick start guide =
The quickstart guide is also available as video:

To include a webpage to your page please check the following things first:

* Check if your page page is allowed to be included!
* Check if the iframe page and the parent page are one the same domain. and are different domains!
* Can you modify the page that should be included?

Most likely you have one of the following setups:

1. iframe cannot be included: You cannot include the content because the owner does not allow this.
1. iframe can be included and you are on a different domain: See the feature comparison chart: and the feature overview To resize the content to the height/width or modify css you need to modify the remote iframe page by adding one line of Javascript to enable the provided workaround.
1. iframe can be included and you are on the same domain: All features of the plugin can be used.

If you mix http and https read Parent https and iframe http does not work on all mayor browsers!

== Installation ==
There are 2 ways to install the Advanced iFrame

*Using the Wordpress Admin screen*

1. Click Plugins, Add New
1. Search for advanced iframe
1. Install and Activate it
1. Place '[advanced_iframe]' in the editor directly or click on the "Add advanced iframe" button above the editor
1. Configure your iframe at your dashboard side menu -> "Advanced iFrame pro". For adding several iframes please see the examples and the FAQ.

*Using FTP*

1. Upload the 'advanced-iframe' folder of the download zip to the '/wp-content/plugins/' directory
1. Activate the plugin through the 'Plugins' menu in WordPress
1. Place '[advanced_iframe]' in the editor directly or click on the "Add advanced iframe" button above the editor
1. Configure your iframe at your dashboard side menu -> "Advanced iFrame pro". For adding several iframes please see the examples and the FAQ.

== Other Notes ==
= Advanced iframe attributes =

Below you find all possible shortcode attributes. If you only use one iframe please use the settings in the administration because there each parameter is explained in detail and also the defaults are set there.

Setting an attribute does overwrite the setting in the administration.

[advanced_iframe securitykey="" src=""
id="" name=""
width="" height=""
marginwidth="" marginheight=""
scrolling="" frameborder=""
class="" style=""
content_id="" content_styles=""
hide_elements="" url_forward_parameter=""
onload="" onload_resize=""
onload_scroll_top="" onload_show_element_only=""
store_height_in_cookie="" additional_height=""
additional_js="" additional_css=""
iframe_content_id="" iframe_content_styles=""
iframe_hide_elements="" hide_page_until_loaded=""
include_url="" include_content=""
include_height="" include_fade=""
onload_resize_width="" resize_on_ajax=""
resize_on_ajax_jquery="" resize_on_click=""
resize_on_click_elements="" use_shortcode_attributes_only=""

== Screenshots ==
1. Comparison between normal iframe and advanced iframe wrapper. The red areas are modified by the advanced iframe to display the content better.
2. This image shows the difference with an url forward parameter. In the advanced iframe a sub album is shown while the normal iframe still shows the entry screen.
3. The basic admin screen to enable standard settings
4. The advanced admin screen to enable advanced settings like html and css changes
5. The advanced admin screen to enable Javascript scroll to top and autoresize resize

== Frequently Asked Questions ==
Find the latest FAQ here:

= Demo =
See the pro demo here:

See the free demo here:

== Upgrade Notice ==
Simply overwrite all files from your previous installation.
If you have some radio elements empty after the update simply
select the one you like and save again.

== Change log ==
= 2020 =
- New: The iframe checker was rewritten to work in parallel. So you can even test 1000 urls at once!
- New: The iframe checker does check also normal iframes! Not only advanced iframes!
- New: Full redesign of the backend. It uses Wordpress dashboard boxes now at many places.
- New: The iframe checker does now also check the content security header header for restrictions
- New: The url in the administration is only checked once every hour now. This does improve loading times of the administration a lot.
- New: The size of the loader icon in the custom folder is now detected automatically.
- New: Tested with WordPress 5.3.2
- New: many document.write in ai_external.js where replaced to include js and css more elegant
- New: Documentation on the external workaround was improved.
- Fix: post messages which are not in json format throw an error in the console. Now this error is catched and only logged in the debug mode of post message. This was fixed in the plugin and the ai_resize.js
- Fix: The "Map parameter to url" was stripping / from the parameter. Depending on the setup this lead to an error. Now the / is added in the code if missing.
- Fix: The "Add iframe url as param" is now not appending parameters again and again after a reload. They only happened if you also use "URL forward parameters"
- Fix: enable_ios_mobile_scolling is now enable_ios_mobile_scrolling. Internally it is still the old but in shortcodes and the generator it is still enable_ios_mobile_scolling. So old short codes do still work!
- Fix: The shortcode generator was using the defaults for the free version. Now it uses the right one depending on the version.

= 2019.10 =
- Fix: The loading icon was broken because of a missing ". Now it works fine again.

= 2019.9 =
- New: The debug console can be enabled by adding the url parameter aiEnableDebugConsole=true to the url of the parent page. This writes a session cookie and debugging is enabled as long your did not close your browser. aiEnableDebugConsole=false does disable it again!
- New: Debug console was rewritten. It does now display all possible logs in the browser console again and the debug div!
- New: By adding ?aiEnableCheckShortcode=true to the url the short code check is enabled dynamically. At the preview this is now added all the time!
- New: userinfo data and usermeta data documentation was improved. If you use & = in meta or user info like in a query string you have to split this data into 2 custom fields as all fields are url encoded.
- New: Improved documentation and quickstart guide.
- New: Disabled elements are now also in a disabled text color
- New: When the pro version is active resize on element resize is available and resize_on_click, resize_on_click_elements, resize_on_ajax, resize_on_ajax_jquery are removed from the administration because this replaces this features in a much better way.
- Fix: Depending on the setup more then one onload event can be fired. Now the onload counter has a measurement timeout that solves this problem.
- Fix: postmeta extraction had a copy past error.
- Fix: user info and user meta divs do now break properly even when there are no spaces in the string.

= 2019.8 =
- New: Config files can now be included directly into ai_external.js. See the new section at the "external workaround" tab. This makes it possible to reduce dependencies on the other site. You only have to include ai_external.js now! You can even include the config switcher directly now!
- New: ai_external.js is also compressed and available as ai_external.min.js
- New: ai.js is compressed but currently not used yet as this is in testing phase. if it works fine this file will be used in the next update.
- New: Replace all normal html iframes with advanced iframes on your page.
- Fix: Anchor and add of url parameters are now also working together!
- Fix: vh and vw where not allowed in the width/height field in the Javascript validation. Now the administration does allow all useful settings.
- Fix: Many small typos fixed in the administration.
- Fix: As edge for IOS the administation was not initialized and therefore the tabs where not working. Now there is an additional check included for this browser
- Fix: Scroll to top when set to iframe was not scrolling properly. Now a small timeout and an improvement how to measure the offset was done.
- Fix: Scroll to top and scroll to an anchor was inferferring. Now if a # is in the url the scroll to top feature is disabled.
- Fix: Chrome was scrolling 367 pixel to the bottom when a # without an anchor was defined. the # is now removed automatically to avoid this jump.

= 2019.7 =
- New: Add iframe url as param has 2 new features! Using an id instead of the url and using also urlrewrite for better urls. So instead of e.g. ? the url looks not like this: /page/1. See
- New: Add iframe url as param does now also supports the handling of existing query parameters
- New: Update jQuery local fallback copy to 1.12.4 (like Wordpress does since 4.6)
- Fix: Add iframe url as param failed if the parameter itself was also included in the main url. Now this also is supported.

= 2019.6 =
- Fix: Completely empty shortcodes [advanced_iframe] throw an error. Now this is covered.

= 2019.5 =
- Fix: Hiding the iframe during page transitions was not working.

= 2019.4 =
- Fix: IE does not support .includes. A polyfill was added to fix this
- Fix: was fixed if you hover over the form! Because at a form change_iframe_links_href="append~?conf=1" does not make sense. A check was added if the element to modify has a href to modify.

= 2019.3 =
- Fix: In 2019.2 the administration was broken. This now works again!
- Fix: Additional js can now also be added in the header like ai.js! This fixes a problem with IE where the custom script was loaded too late! now works in IE!

= 2019.2 =
- New: Improved documentation of the external workaround.
- Fix: Invalid anchors like #foo&foo2 are ignored because this is then no real hash but maybe a hash used for some business logic.
- Fix: Error message in the internal debugger was fixed if no headers could be detected.

= 2019.1 =
- Fix: startsWith is not supported in IE11. It was replaces with a different implementation. This was used in the "Add iframe url as param" feature
- Fix: 3 links from the administration where pointing to old urls. Now they point again to the correct ones.
- Fix: Fixed typos in the administration

= 2019 =
- Tested with WP 5.2
- New: iframe anchor support! if you enable auto height you can now also specify an anchor in the iframe! the parent does then scroll automatically to this location! Does work on the same domain even in the free version. In the pro version this is also supported external domains by the external workaround. See Example 51
- New: Full Gutenberg support. An advanced iframe block is now available. parent_content_css is now rendered a little bit later because of the Gutenberg preview.
- New: You can now change also the href of links and not only the target! change_iframe_links_href does work for the same or in the external workaround. It can also be used to add a string to the existing href. It also does work for links which are later on added to the webpage by ajax. Delegated event handlers are used here. See
- New: Targets can now also be changed for links which are added later to the website. Delegated event handlers are used here now.
- New: The calc support was improved. px is now automatically added when needed. 100%-100 -> 100% - 100px. Because without px is does not work!
- New: You can set a custom loader icon by saving a loader.gif in the advanced-iframe-custom folder in a size of 66x66
- New:

Advanced iFrame Plugin
Price: FREE

> **[Advanced iFrame Pro](https://1.

View Cart