Skip to main content

Looping through IFrames using Javascript (ie. js)

I'll just paste some code here. It should be self explainatory...



/******************************************************************************************
Requirements:
1. <body onLoad="wt_ad_impression()">
2. <div id="wt_call"></div> somewhere in body
3. <input type="hidden" id="wt_name" name="wt_name" value="wt.AD" /> at Xigla Edit Banner
4. <iframe></iframe> not <iframe /> for FireFox in Ad Zone Grouping
*******************************************************************************************/

var intervalId = 0;
var wt_iframes = null;
var iframeCount = 0;
var iframeIterator = 0;

function wt_ad_impression()
{
alert("called");
wt_iframes = document.getElementsByTagName("iframe");
iframeCount = wt_iframes.length;
intervalId = setInterval(wt_collect, 200);
}

function wt_collect()
{
alert("in wt_collect");
alert("iframeCount="+iframeCount);
alert("iframeIterator="+iframeIterator);
if(iframeIterator < iframeCount)
{
alert("going");
var wt_iframe = wt_iframes[iframeIterator].contentWindow || wt_iframes[iframeIterator].contentDocument;
if (wt_iframe.document)
{
alert("here");
wt_iframe = wt_iframe.document;
var wt_name = wt_iframe.getElementById("wt_name");
if(wt_name)
{
var bugStr = "<IMG border=\"0\" name=\"DCSIMG\" width=\"1\" height=\"1\" SRC=\"http://statse.webtrendslive.com/dcsa8fvfl10000oi64eu0wzzm_4g7c/dcs.gif?dcsuri=" + window.location + "&dcsdat=" + Math.round(10000000000000*Math.random()) + "&WT.ad=" + wt_name.value + "\" />"
alert("value="+bugStr);
var imgElement = document.createElement("img");
imgElement.border = "0";
imgElement.name = "DCSIMG";
imgElement.width = "1";
imgElement.height = "1";
imgElement.src = "http://statse.webtrendslive.com/dcsa8fvfl10000oi64eu0wzzm_4g7c/dcs.gif?dcsuri="
+ window.location + "&dcsdat=" + Math.round(10000000000000*Math.random()) + "&WT.ad="
+ wt_name.value;

var wt_call_div = document.getElementById("wt_call");
wt_call_div.appendChild(imgElement);

}
}
alert("incrementing");
iframeIterator = iframeIterator + 1;
alert("iframeIterator="+iframeIterator);

}
else
{
clearInterval(intervalId);
}
}


To access frames you can also use:

var len = windows.frames.length;
for(var i = 0; i < len; i++)
{
var frame = windows.frames[i];
}


The frames collection can use integers as indexes or a string if the frame has a name ie <iframe name="xyz">.

Comments

Popular posts from this blog

Checking / Creating New Folders from an SMTP Import

To check if a folder exists in the CMS already you have to create a folder list. There is no direct commands to do this. dim folderExists folderExists = false set folderlist = asset.getFolderList("/path/") 'loop through folder list do while folderlist.nextEntry() if folderlist.item("_cmsLabel") = "foldername" folderExists = true exit do end if loop To create a folder in the CMS, first make a Model that only contains a folder. Then do the following: if folderExists = false then 'create folder set dict = system.createDictionary() fId = asset.create(folderName, "/Site/Global/Picture of the Week/", "/System/Models/Directory Builder", dict) end if The parameters for the asset.create("label", "Path", "Model to use", content or dictionary)

Questions about Outages

Routine CMS maintentance windows are from 6pm - 7pm, every Monday and Wednesday. Generally, the system is still available during these times, but may be unavailable for a few minutes during that period. There are other times where maintenance must be performed outside these windows due to unforeseen circumstances. We aim to provide as much notice as possible for these events, typically via email and via an alert on the login page. The routine maintenance is also mentioned on the login page on the day of maintenance.

Laravel 5.1 - Step by step instructions for setting up default authentication

Create a Database in MySQL 1. Login to MySQL 2. Run the command to create a database for your application CREATE DATABASE database_name; 3. You'll probably also need to create a user to access the database CREATE USER 'username'@'localhost' IDENTIFIED BY 'some_password'; 4. Then you'll need to grant this user access to the database you created GRANT ALL PRIVILEGES ON database_name.* TO 'username'@'localhost' ;  Configure Laravel Database Connection The DB configuration file is located at /config/database.php. You'll need to edit the following highlighted sections in this file with the values needed to connect to the database you've created from above. Configure Environment If you installed Laravel through Composer, in the root of the Laravel install there is a hidden .env file which is automatically renamed from .env.example . If you didn't user Composer, you'll need to rename this file yourself. ...