Есть например iframe рекламного блока:
<iframe data-aa='1058853' src='//ad.a-ads.com/1058853?size=468x60' scrolling='no' style='width:468px; height:60px; border:0px; padding:0;overflow:hidden' allowtransparency='true'></iframe>
Собственно вопрос, как вставить iframe используя createJS?
Код всей функции где хочу внедрить:
var _oBg;
var _oMsgText;
var _oContainer;
this._init = function(){
_oContainer = new createjs.Container();
s_oStage.addChild(_oContainer);
// Простенький спрайт на фон (роли никак не играет, использует собственный метод createBitmap)
var oSprite = s_oSpriteLibrary.getSprite('msg_box');
_oBg = createBitmap(oSprite);
_oBg.x = CANVAS_WIDTH/2;
_oBg.y = CANVAS_HEIGHT/2;
_oBg.regX = oSprite.width/2;
_oBg.regY = oSprite.height/2;
_oContainer.addChild(_oBg);
// Текст на этом фоне
_oMsgText = new createjs.Text('Произвольный текст',"46px "+PRIMARY_FONT, "#ffffff");
_oMsgText.x = CANVAS_WIDTH/2;
_oMsgText.y = 270;
_oMsgText.textAlign = "center";
_oContainer.addChild(_oMsgText);
// Здесь я пытался вставить фрейм с рекламой
}
Моя попытка:
var oAds = document.createElement('iframe');
oAds.setAttribute('data-aa', '1058853');
oAds.setAttribute('src', '//ad.a-ads.com/1058853?size=468x60');
oAds.setAttribute('scrolling', 'no');
oAds.setAttribute('style', 'width:468px; height:60px; border:0px; padding:0;overflow:hidden');
oAds.setAttribute('allowtransparency', 'true');
// Пробовал и new createjs.DOMElement(oAds) и многое другое
var ads = new createjs.Bitmap(oAds);
_oContainer.addChild(ads);
Попытка без контейнера (что очень ужасно, так как желательно в контейнере), рекламный блок появляется, на за canvas (на заднем плане и не видно):
var oAds = document.createElement('iframe');
oAds.setAttribute('data-aa', '1058852');
oAds.setAttribute('src', 'https://ad.a-ads.com/1058852%3Fsize=468x60');
oAds.setAttribute('scrolling', 'no');
oAds.setAttribute('style', 'width:468px; height:60px; border:0px; padding:0;overflow:hidden');
oAds.setAttribute('allowtransparency', 'true');
document.body.appendChild(oAds);
p.s. Мучаюсь второй день и ничего не выходит...
Нарисовать содержимое iframe'а на canvas'е не получится, не говоря уже о том, что это скорее всего не то, что вам нужно (реклама?). iframe можно расположить над холстом вот так:
let canvas = document.querySelector("canvas");
let iframe = document.createElement("iframe");
iframe.src = "https://www.openstreetmap.org/export/embed.html?bbox=-0.004017949104309083%2C51.47612752641776%2C0.00030577182769775396%2C51.478569861898606&layer=mapnik";
// Тут ваши значения.
iframe.style.height = "240px";
iframe.style.width = "640px";
iframe.style.borderWidth = "0px";
iframe.style.position = "relative";
iframe.style.top = "-240px";
canvas.parentNode.insertBefore(iframe, canvas.nextSibling);
Пример на JSFiddle: https://jsfiddle.net/eoLbxncj/.
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости