UNPKG

adlayer-library

Version:

Adlayer javascript core library

103 lines (94 loc) 2.5 kB
/** * @module ads * @requires dom */ (function(){ var AdDom = require('../dom/ad_dom').AdDom; var Swf = require('./swf').Swf; /** * Create embedable ads * * @class ObjectAd * @constructor * @param {Object} attributes * * @extends AdDom * @uses Swf */ var ObjectAd = function(){ var superclass = this; AdDom.apply(this, arguments); Swf.apply(this, arguments); /** * @property CLASSID * @type string * @final * @private */ var CLASSID = "clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"; /** * @property CODEBASE * @type string * @final * @private */ var CODEBASE = "http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"; /** * @property PLUGINSPAGE * @type string * @final * @private */ var PLUGINSPAGE = "http://www.macromedia.com/go/getflashplayer"; /** * @class Param * @constructor * @param {String} name * @param {String} value * @return HTMLElement */ var Param = function(name, value){ /** * @property name * @type string */ this.name = name; /** * @property value * @type string */ this.value = value; /** * @property element * @type HTMLElement */ this.element = superclass.create("param"); this.element.setAttribute("name", this.name); this.element.setAttribute("value", this.value); return this.element; }; var __construct = (function(self){ self.create('OBJECT'); self.element.src = self.src; self.element.setAttribute("data", self.src); self.element.setAttribute("classid", CLASSID); self.element.setAttribute("codebase", CODEBASE); // http://stackoverflow.com/questions/1168494/how-do-i-programmatically-set-all-objects-to-have-the-wmode-set-to-opaque var clone = self.element.cloneNode(true); clone.appendChild(new Param("movie", self.getSrc())); clone.appendChild(new Param("quality", self.quality)); clone.appendChild(new Param("src", self.src)); clone.appendChild(new Param("menu", self.menu)); clone.appendChild(new Param("scale", self.scale)); clone.appendChild(new Param("allowScriptAccess", self.allowScriptAccess)); clone.appendChild(new Param("allowNetworking", "all")); clone.appendChild(new Param("base", self.base)); clone.appendChild(new Param("wmode", self.wmode)); self.element = clone; self.element.id = self.id; return self.element; })(this); }; ObjectAd.prototype = new AdDom(); exports.ObjectAd = ObjectAd; })();