Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 07.06.2010, 12:04
Новичок на форуме
Отправить личное сообщение для Golizart Посмотреть профиль Найти все сообщения от Golizart
 
Регистрация: 07.06.2010
Сообщений: 8

Загрузка сайта в PANEL
Помогите, я начал работать недавно c EXT v2.2 . Встал вопрос о загрузке сайта в PANEL .Сайт должен быть рабочим, с выполнением скриптов, естественно с отображением HTML элементов! ЕЩЕ в панели должна работать функция DragSelector для выделения HTML элементов и выводить в грид выделенные элементы(теги, координаты). Я посмотрел пример dataview в API , немного его переделал! выводит но не так как хочется, там ведь загрузка данных, а не рабочего сайта.А как загрузить сайт с рабочими ссылками в панель?
или этого сделать нельзя? Подскажите как вообще это можно реализовать??
вот мои наработки без выведения результатов в грид :
Ext.onReady(function(){
     Ext.DataView.DragSelector = function(cfg){   //Функци для выделения элементов
   
 cfg = cfg || {};
    var view, regions, proxy, tracker;
    var rs, bodyRegion, dragRegion = new Ext.lib.Region(0,0,0,0);
    var dragSafe = cfg.dragSafe === true;
  
    this.init = function(dataView){
        view = dataView;
        view.on('render', onRender);
    };

    function fillRegions(){
        rs = [];
        view.all.each(function(el){
            rs[rs.length] = el.getRegion();
            
        });
        bodyRegion = view.el.getRegion();
        
    }

    function cancelClick(){
        
        
        return false;
    }

    function onBeforeStart(e){
        return !dragSafe || e.target == view.el.dom;
    }

    function onStart(e){
        view.on('containerclick', cancelClick, view, {single:true});
        if(!proxy){
            proxy = view.el.createChild({cls:'x-view-selector'});
        }else{
            proxy.setDisplayed('block');
        }
        fillRegions();
        view.clearSelections();
    }

    function onDrag(e){
        var startXY = tracker.startXY;
        var xy = tracker.getXY();

        var x = Math.min(startXY[0], xy[0]);
        var y = Math.min(startXY[1], xy[1]);
        var w = Math.abs(startXY[0] - xy[0]);
        var h = Math.abs(startXY[1] - xy[1]);

        dragRegion.left = x;
        dragRegion.top = y;
        dragRegion.right = x+w;
        dragRegion.bottom = y+h;

        dragRegion.constrainTo(bodyRegion);
        proxy.setRegion(dragRegion);

        for(var i = 0, len = rs.length; i < len; i++){
            var r = rs[i], sel = dragRegion.intersect(r);
            if(sel && !r.selected){
                r.selected = true;
                view.select(i, true);
            }else if(!sel && r.selected){
                r.selected = false;
                view.deselect(i);
            }
        }
    }

    function onEnd(e){
        if(proxy){
            var isd = Ext.get('ds').select('*').getCount();             // хрень для нахождения элементов
            //var X=Ext.get('ds').select('*').item(t).getX();
            //var Y = Ext.get('ds').select('*').item(t).getY();
            var kx=0;
            var m = {color:'#f01717'}
            var kxy = 0;
             var earth = new Array(isd);
            for(var t=1;t<isd;t++){earth[t]=false}; 
            for(var t=1;t<isd;t++){
                var Xs=Ext.get('ds').select('*').item(t).getX();
                 var Ys = Ext.get('ds').select('*').item(t).getY();
                 
                    if(Xs>=dragRegion.left&&Xs<=dragRegion.right){
                        if(Ys>=dragRegion.top&&Ys<=dragRegion.bottom){kxy++;earth[t]=true}
                        }}
                    
    
            alert('you selected ===>   '+kxy+"elements");
            
            proxy.setDisplayed(false);
        }
    }
           
    function onRender(view){
       tracker = new Ext.dd.DragTracker({
         onBeforeStart: onBeforeStart,
           onStart: onStart,
         onDrag: onDrag,
    onEnd :onEnd
        
                
             
             
        });
        
        //tre= new Ext.dd.DragTracker({onEnd:onEnd});
        //tre.initEl(view.el);
        tracker.initEl(view.el);
    }
};

    var store = new Ext.data.JsonStore({
        url: 'get-images.php', // тут идет откр. файла с помощю php и передает сайт как строку
        root: 'images',
        fields: ['HTML']
    });
    store.load();

    var tpl = new Ext.XTemplate(              загрузка  строки
        '<tpl for=".">',
          
            '<div id="ds" class="thumb-wrap">',
            '{HTML}',   //загрузка  строки
            '</div>',
            
        '</tpl>'
       
    );
 var view =  new Ext.DataView({ // тут собирается  плагин  и сам сайт,его HTML версия,
            store: store,
            tpl: tpl,
            autoHeight:true,
   
         multiSelect: true,
            overClass:'x-view-over',
          itemSelector:'div.thumb-wrap',
            emptyText: 'No images to display',
            plugins: 
                new Ext.DataView.DragSelector(),
           listeners: {
             selectionchange: {
                 fn: function(dv,nodes){
                     var l = nodes.length;
                     var s = l != 1 ? 's' : '';
                     panel.setTitle('Simple DataView ('+l+' item'+s+' selected)');
                 }
             }
            }
        })
   
  Ext.QuickTips.init();
            var form1 = new Ext.ux.GoodForm({  // тут я попробывал создать новую чуть расширенную панель с кнопками
        id:'images-view',
        renderTo:'form1',
        frame:true,
        width:535,
        title:'Simple DataView (0 items selected)',
        items:view
                                            });
            
            

            
    


 

});
Ответить с цитированием
  #2 (permalink)  
Старый 08.06.2010, 14:25
Новичок на форуме
Отправить личное сообщение для sand123 Посмотреть профиль Найти все сообщения от sand123
 
Регистрация: 07.06.2010
Сообщений: 1

Ну, все что приходит в голову по поводу сайт в панель - это использование плагина http://www.extjs.com/forum/showthrea...agedIFrame-2.x
Из названия, в принципе, следует его суть. Есть необходимые события состояния загрузки, методы для работы с документом во фрейме. Ну, и почему версия 2.2? Есть ограничения?
Ответить с цитированием
  #3 (permalink)  
Старый 11.06.2010, 03:50
Новичок на форуме
Отправить личное сообщение для Golizart Посмотреть профиль Найти все сообщения от Golizart
 
Регистрация: 07.06.2010
Сообщений: 8

аспирант дала 2.2 версию ,сказала, юзай и принеси вот такой результат!!
я голову себе вынес! мало того что я не знаю, точнее раньше не знал ,скрипты! так еще и библиотека EXT
Ответить с цитированием
  #4 (permalink)  
Старый 11.06.2010, 03:51
Новичок на форуме
Отправить личное сообщение для Golizart Посмотреть профиль Найти все сообщения от Golizart
 
Регистрация: 07.06.2010
Сообщений: 8

Я понял этот Frame работает только с 3.1 и выше версиями!??
Ответить с цитированием
  #5 (permalink)  
Старый 11.06.2010, 10:10
Новичок на форуме
Отправить личное сообщение для Kolyaj Посмотреть профиль Найти все сообщения от Kolyaj
 
Регистрация: 19.02.2008
Сообщений: 9,177

Сообщение от Golizart
Я понял этот Frame работает только с 3.1 и выше версиями!??
Возьми третью версию, аспирант и не поймёт. Хотя для второй версии этот плагин тоже был.
Ответить с цитированием
  #6 (permalink)  
Старый 12.06.2010, 15:26
Новичок на форуме
Отправить личное сообщение для Golizart Посмотреть профиль Найти все сообщения от Golizart
 
Регистрация: 07.06.2010
Сообщений: 8

акей !!! пасиба
Ответить с цитированием
  #7 (permalink)  
Старый 15.06.2010, 17:55
Новичок на форуме
Отправить личное сообщение для Golizart Посмотреть профиль Найти все сообщения от Golizart
 
Регистрация: 07.06.2010
Сообщений: 8

frame с XML документами работает????
Ответить с цитированием
  #8 (permalink)  
Старый 15.06.2010, 19:37
Новичок на форуме
Отправить личное сообщение для Kolyaj Посмотреть профиль Найти все сообщения от Kolyaj
 
Регистрация: 19.02.2008
Сообщений: 9,177

Если браузер работает, то и фрейм работает.
Ответить с цитированием
  #9 (permalink)  
Старый 16.06.2010, 00:42
Новичок на форуме
Отправить личное сообщение для Golizart Посмотреть профиль Найти все сообщения от Golizart
 
Регистрация: 07.06.2010
Сообщений: 8

Спасибо за помощь!!!! С селктором поможете, как он работает??, с английским проблема, читал на форуме не понял!!
Ответить с цитированием
  #10 (permalink)  
Старый 16.06.2010, 00:44
Новичок на форуме
Отправить личное сообщение для Golizart Посмотреть профиль Найти все сообщения от Golizart
 
Регистрация: 07.06.2010
Сообщений: 8

я структуру понял!! вот только не пойму,что передается ему и как он начинает работать?
Ответить с цитированием
Ответ


Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
загрузка node с другого сайта на свой vanka12345 Библиотеки/Тулкиты/Фреймворки 10 14.11.2011 23:52
Загрузка страницы, чтение значений элементов, загрузка следующей страницы sitestyler Events/DOM/Window 6 21.10.2009 12:20
Аналитика посещения сайта на JS onejsquestion Общие вопросы Javascript 9 14.08.2009 08:42