2011-11-10 3 views
1

Ext 4GeoExtを使用できるように、ext3 all-sandbox.jsを使用してExt 3Ext 4の両方をロードしようとしています。

「Ext.functionFactory()は関数ではありません」と「Ext.supportsが 未定義である:私たちがロードExt 3, Ext 4, GeoExtとOpenLayersをして成功しているが、まだのようなエラーが発生しているようだ私たちのDOMに探し

"

同じようなことを試してみましたが、そこに誰がいますか?

これは、我々はJSファイルをロードしているindex.jspがあります。

<!DOCTYPE HTML> 
<%@ page pageEncoding="UTF-8"%> 
<html> 
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 
<title></title> 

<!-- Ext 4 with sandbox mode --> 

<script type="text/javascript" src="../gt-static/extjs/ext-all.js"></script> 
<script type="text/javascript" src="../gt-static/extjs/builds/ext-all-sandbox.js"> 
</script> 
<link rel="stylesheet" type="text/css" href="../gt-static/extjs/resources/css/ext-all-gray.css"/> 
<link rel="stylesheet" type="text/css" href="../gt-static/extjs/resources/css/ext-sandbox.css"> 

<!-- Ext 3 --> 

<script src="../gt-static/ext-3.2.1/adapter/ext/ext-base.js" type="text/javascript"> </script> 
<script src="../gt-static/ext-3.2.1/ext-all.js" type="text/javascript"></script> 
<link rel="stylesheet" type="text/css" href="../gt-static/ext-3.2.1/resources/css/ext-all.css"></link> 

<!-- OpenLayers --> 
<script src="../gt-static/OpenLayers/OpenLayers/OpenLayers.js" type="text/javascript"></script> 


<script type="text/javascript"> 
// Start app on ready 
Ext4.Loader.onReady(function(){ 
Ext4.Loader.setConfig({enabled: true}); 
Ext4.require(['Ext4.picker.Date']); 
var head = Ext4.fly(document.getElementsByTagName('head')[0]); 

// GeoExt 
Ext4.core.DomHelper.append(head, { 
    tag : 'script', 
    type : 'text/javascript', 
    src : '../gt-static/GeoExt/lib/GeoExt.js' 
}); 
Ext4.core.DomHelper.append(head, { 
    tag : 'script', 
    type : 'text/javascript', 
    src : '../gt-static/GeoExt/resources/css/geoext-all-debug.css' 
}); 
Ext4.core.DomHelper.append(head, { 
    tag : 'script', 
    type : 'text/javascript', 
    src : 'app.js' 
}); 
},this,true); 

</script> 

</head> 
<body></body> 
</html> 

、我々は内線3とのExt 4と一緒にGeoExtを使用します。

Ext4.define('GT.controller.Authenticated', { 
    extend : 'Ext4.app.Controller', 

    views : [ 'Authenticated' ], 

    init : function() { 
     "use strict"; 
     this.control({ 
      'authenticated' : { 
       render : function() { 
        var panel = new Ext.Panel({ 
         title : 'EXT3' 
        }); 
        Ext4.getCmp('mappanel').add(panel); 
        var map = new OpenLayers.Map(); 
        var layer = new OpenLayers.Layer.WMS("Global Imagery", 
          "http://maps.opengeo.org/geowebcache/service/wms", 
          { 
           layers : "bluemarble" 
          }); 
        map.addLayer(layer); 

        new GeoExt.MapPanel({ 
         renderTo : 'mappanel', 
         height : 400, 
         width : 600, 
         map : map, 
         title : 'A Simple GeoExt Map' 
        }); 
       } 
      } 
     }); 
    } 
}); 

スクリーンショット

のFirebug - DOM http://img842.imageshack.us/img842/492/dommq.png

のFirebug - エラー - コンソール http://img33.imageshack.us/img33/3703/errorsp.png

+0

イベントを理解されるであろうことについての考えを持っている場合は、EXT-すべて-gray.css

として動作するようには思えdosentということですWebページにExtJs **を2回ロード**するのは私にとって奇妙に見えます...すでにかなり重いです。 – tonio

+0

私はあなたのポイントを参照してください、これがためには、DOMにたくさん扱う傾けることIE8を言うことができます問題だろうか? – Emil

答えて

1

我々はそれを解決するために問題をたくさんした後の管理:

<script type="text/javascript" src="../gt-static/ext-3.3.1/adapter/ext/ext-base.js"></script> 
<script src="../gt-static/ext-3.3.1/ext-all.js" type="text/javascript"></script> 
<link rel="stylesheet" type="text/css" href="../gt-static/ext-3.3.1/resources/css/ext-all.css"></link> 

<script src="../gt-static/OpenLayers/OpenLayers/OpenLayers.js" type="text/javascript"></script> 
<script src="../gt-static/GeoExt/lib/GeoExt.js" type="text/javascript"></script> 
<link rel="stylesheet" type="text/css" href="../gt-static/GeoExt/resources/css/geoext-all.css"></link> 

<script type="text/javascript" src="../gt-static/extjs/builds/ext-all-sandbox.js"></script> 

<link rel="stylesheet" type="text/css" href="../gt-static/extjs/resources/css/ext-sandbox.css"/> 

は、今では内線4容器にGeoExt MapPanelをロードすることが可能です。

今、私たちの問題は、CSSファイルがそこにuの人は技術的に可能ならば、それは非常に