Diversos portais utilizam IFrames na padronização SafeFrame IAB, para veicularmos peças expansíveis temos que compor o nosso template com a API da IAB (toda a documentação necessária para o SafeFrame segue anexa nessa solution):


> Template RealMedia para peças expansíveis

 

<div id="ads_Richmedia_%%POS%%"></div>

<script type="text/javascript">
  
    var realmedia_ads_container_id = "ads_Richmedia_%%POS%%";
    var realmedia_ads_expand_direction = "d";
    var realmedia_ads_image_url  = "%%CDN%%/RealMedia/ads/Creatives/%%CAMP%%/**IMG_BACKUP**/%%FILEDATE%%";
    
    var realmedia_ads_standard_data_url  = "%%CDN%%/RealMedia/ads/Creatives/%%CAMP%%/**SWF_RETRAIDO**/%%FILEDATE%%";
    var realmedia_ads_standard_width  = 728; /* Retracted width */
    var realmedia_ads_standard_height = 90; /* Retracted height */
    var realmedia_ads_standard_version = 9; /* Flash Player version */
    var realmedia_ads_standard_transparent = true; /* Retracted div's background is transparent? - Boolean (true / false) */
    var realmedia_ads_standard_backgroundColor = "#00000"; /* div's BG color - hexadecimal color between quotation marks ("#FFFFFF") */
   
    var realmedia_ads_expand_data_url  = "%%CDN%%/RealMedia/ads/Creatives/%%CAMP%%/**SWF_EXPANDIDO**/%%FILEDATE%%";
    var realmedia_ads_expand_width  = 728; /* Expanded width */
    var realmedia_ads_expand_height = 300; /* Expanded height */
    var realmedia_ads_expand_version = 9; /* Flash Player version */
    var realmedia_ads_expand_transparent; /* Expanded div's background is transparent? - Boolean */
    var realmedia_ads_expand_backgroundColor; /* div's BG color - Cor hexadecimal */

    var realmedia_ads_expand_time = 10; /* Expansion animation lenght - quanto maior, mais longa a animação */
    var realmedia_ads_colapse_time = 10; /* Duração da animação de retração - quanto maior, mais longa a animação */

    var realmedia_ads_reload_on_expand = true; /* Peça expandida reinicia animação ao expandir? - Booleano */
    var realmedia_ads_click_name = "oas";
    var realmedia_ads_click_url = "%%QUERY%%%%C%%";
    var realmedia_ads_track_impression;

    var realmedia_ads_expand_mouse_over = true; 
    var realmedia_ads_colapse_mouse_out = true;
    var realmedia_ads_start_expanded;

	/* Contabilização de eventos */
	
    var realmedia_ads = new Array();
    realmedia_ads["domain"] = "%%SERVER%%";
    realmedia_ads["sitePage"] = "%%PAGE%%";
    realmedia_ads["campaign"] = "%%CAMP%%";
    realmedia_ads["creative"] = "%%ADID%%_events";
    realmedia_ads["user"] = "%%USER%%";
    realmedia_ads["query"] = "%%QUERY%%";
    realmedia_ads["event"] = new Array();
    realmedia_ads["event"]["expand"] = "x02";
    realmedia_ads["event"]["colapse"] = "x03"; 

</script>

<script src="%%CDN%%/RealMedia/ads/Creatives/BR_PBRM/js/expand-cover.min.js/%%FILEDATE%%"></script>

 

> Acrescentar abaixo o código da API IAB para iframe-busting   

// CÓDIGO IAB PARA EXPANSÃO/RETRAÇÃO DO IFRAME GERADO

<script>
//Caso de um Superbanner 728x90 que expande para 300 pixels de altura
var expansionPending = false;
var expanded = false;
function expandIAB()
{
	var w = window, sf = w["$sf"], ext = sf && sf.ext;
	if (ext) {
		ext.expand({l:0,t:210}); 
                       // Some a variável t (vertical) a quantidade de pixels necessarias para o tamanho final
		} else {
			//api expansion not supported
		}
}
	function status_update_handler(status)
	{
		if (status == "expanded") {
		// The ad has finished expanding
}
}

//Sample JavaScript implementation
function collapseIAB()
{
	var w = window, sf = w["$sf"], ext = sf && sf.ext;
		if (ext) {
		ext.collapse();
		} else {
		//api expansion not supported
}
}
function status_update_handler(status)
{
	if (status == "expanded") {
	// Expanded
	} 
		else if (status == "collapsed") {
		//we called collapse
		}
}
</script>

   

> Como deve estar o Flash:

No botão de expansão deve chamar obrigatoriamente a chamada da IAB, além da Realmedia:

  

// EXPANDIR 

var oasId = _root.ads_id; 
btnExpand.onRelease = function() { 
     ExternalInterface.call("window._ads['"+oasId+"'].trigger", "expand"); // Expansão Template Realmedia
     getURL("javascript:expandIAB()"); // Expansão SafeFrame
}

// Retrair

var oasId = _root.ads_id; 
btnRetract.onRelease = function() { 
     ExternalInterface.call("window._ads['"+oasId+"'].trigger", "colapse"); // Expansão Template Realmedia
     getURL("javascript:collapseIAB()"); // Retração SafeFrame
}