2015-02-24 3 views
0

У меня есть div внутри iframe, который я пытаюсь использовать для рендеринга изображения. Этот код может читать элемент div, но я не могу отобразить его:Extjs render image внутри iframe

var element = window.frames['pf'].document.body;    
    var canv1 = Ext.get(element).select('canv1'); 
    var changingImage = Ext.create('Ext.Img', { 
     src: '/is-bin/intershop.static/WFS/EnterpriseOrg-MainChannel-Site/ProductStore/ru_RU/kzch.jpg', 
     renderTo: Ext.get(element).select('canv1'), 
     style: { 
      cursor: "crosshair" 
     } 
    }); 
<iframe ..> 
<div id='canv1'></div> 
</iframe> 

Есть ли обходной путь?

+0

Почему вы используете iframe? Похоже, ваш код выполняется до того, как dom готов. Кроме того, что вы получаете, если вы 'console.log (canv1)' сразу после того, как вы установите его с помощью var? –

+0

el: constructordom: undefinedel: constructordom: undefinedel: constructor__proto__: Element.Fly.AbstractElement.Fly.Ext.Class.constructor__proto__: Element.Fly.AbstractElement.Fly.Ext.Class.constructorattach: function (dom) {config: objectClassconfigMap: Objectconstructor: function (dom) {initConfigList: Array [0] initConfigMap: ObjectisFly: trueself: function constructor() {superclass: Object__proto__: Objectelements: Array [0] length: 0__proto__: Array [0] __ proto__: Ext.define.constructor – AlexInspired

+0

очень длинное сообщение - не может быть здесь. Я вижу el-> dom: undefined - может быть, проблема? – AlexInspired

ответ

0

Попробуйте использовать Ext.getDom ('canv1') вместо

+0

Ошибка исчезла, но ничего не получается. – AlexInspired

+0

@lorenz, вероятно, находится на правильном пути. Вы должны обернуть свой JS-код в обработчик Ext.onReady – mindparse

+0

Нет даже внутри наготове, он не работает. Единственный предлагаемый способ - загрузить новую библиотеку extjs внутри нового фрейма, но как я могу передать ему ранее загруженный магазин? – AlexInspired