Показать сообщение отдельно
  #28 (permalink)  
Старый 22.05.2012, 19:22
Аспирант
Отправить личное сообщение для JDev Посмотреть профиль Найти все сообщения от JDev
 
Регистрация: 19.11.2011
Сообщений: 77

надеюсь, что по этому вопросу больше вопросов нет.
Вот так у меня получилось, все загружает так как нужно.

<script type="text/javascript">
		
        var random = Math.floor((Math.random() * 10000) + 1);
        var cookie = "cookieName=" + random;
        var adresse = "/JFreeeChartServlet/generateImg?" + cookie;
        var cookieString = new String();
        
        
        Ext.onReady(function() {
        	Ext.create("Ext.window.Window", {
        		height: 785,
        		width: 1465,
        		html: '<div id="generateImage"><img id="target"></div>',
         		listeners: {
         			resize: function(win, width, height, eOpts ) {
         				
        	 			$("#target").bind('load', loadCallback);
        	 			var imgObj = $("#target").attr('src', adresse + "&chartW=" + width + "&chartH=" + height);
        				$(imgObj).each(function () {
        	                if (imgObj.complete) 
        	                	$(imgObj).trigger('load');
        	            });
        	 			
         			}
         		}
        	}).show();
 	
            $('#target').imgAreaSelect({
                handles: true,
                movable: false,
                resizable: false,
                autoHide: true,
                onSelectEnd: function (img, selection) {
                        $("#target").bind('load', loadCallback);
                        var newImg = $("#target").attr("src", adresse + "&x1=" + selection.x1 + "&y1=" + selection.y1 + "&width=" + selection.width + "&height=" + selection.height);
                        $(newImg).each(
                        	function () {
                            	if ($(newImg).complete) 
                            		$(newImg).trigger('load');
                        	});
                }
            });
            
		});


            function loadCallback() {
            	cookieString = get_all_cookie(random)
         
                setVars(substr_search("plotWidth"), substr_search("plotHeight"), substr_search("plotX"),substr_search("plotY"));
            }

            function get_all_cookie(cookie_name) {
                var results = document.cookie.match('(^|;) ?' + cookie_name + '=([^;]*)(;|$)');

                if (results) return (unescape(results[2]));
                	else return null;
            }
            
            function substr_search(str){
            	var strStartPos = cookieString.search(str);
             	var startPos = cookieString.indexOf("=", strStartPos);
             	var endPos = cookieString.indexOf(":", strStartPos);

            	return cookieString.substring(startPos+1, endPos);
            }

        </script>


Если можно еще два вопроса.
Я вот пробовал с помощью плагина jQuery.cookies вытащить кукисы, чтоб избавиться от этих трех функций, которые я использую для того чтоб их достать, но почему-то в loadCallback() $.cookie равно нулю, хотя функция прекрасно тащит их с DOM.

И еще одно, у меня окошко в котором я определяю координаты, если я перетаскиваю окошко, соответственно координати у плагина теряются, как мне отслеживать поведение перемещения окна ExtJs.

спасибо Вам большое!!
Ответить с цитированием