2015-02-09 64 views
0

我正在將一些dojo 1.6代碼遷移到dojo 1.8,並且我無法讓佈局表現得一樣。所以我剝離了代碼,希望能夠確定這個問題,最終得到2個相同的jsfiddles。我將代碼從一個複製到另一個......然而其中一個會導致分割的dojo ContentPanes,而另一個則不會。爲什麼在1.8版本中完全相同的2個jsfiddles會導致不同的dojo佈局?

實施例#1(佈局作品):http://jsfiddle.net/mmlitvin/3onan361/17/

實施例#2(佈局不工作):http://jsfiddle.net/mmlitvin/Lt0a2fhd/

HTML

<body class="claro"> 
<div data-dojo-type="dijit.layout.BorderContainer" id="mainBC"> 

    <div data-dojo-type="dijit.layout.BorderContainer" id="splitBC" data-dojo-props="region:'center'"> 
     <div data-dojo-type="dijit.layout.ContentPane" id="topPane" data-dojo-props="region:'top'">SQL Statement and details</div> 
     <div data-dojo-type="dijit.layout.ContentPane" id="leftPane" data-dojo-props="region:'center'">Left Pane</div> 
     <div data-dojo-type="dijit.layout.ContentPane" id="rightPane" data-dojo-props="region:'right',splitter:'true',minSize:1" style="width:50%;">Right Pane</div> 
    </div> 

</div> 

的Javascript

debugger; 
dojo.require('dojo.parser'); 
dojo.require("dijit.layout.ContentPane"); 
dojo.require("dijit.layout.BorderContainer"); 
dojo.require("dijit.Dialog"); 

CSS

#mainBC { 
height:600px; 
} 
#topPane { 
height: 15px; 
border:none; 
padding:0px; 

}

回答

0

他們是不相同的。如果您點擊左側菜單中的Fiddle Options,您會注意到正在運行的JSFiddle在Framework <script> attribute中包含djConfig="parseOnLoad:true",而另一個則沒有。

JSFiddle documentation狀態以下有關此屬性:

Framework <script> attribute: 
    An ability to add special attributes to the script tag loading the framework. 
    That would result with <script type="text/javascript" src="/js/lib/someframework.js" {attributes}></script> 

這意味着dojo/parser不運行時的頁面加載你的第二個的jsfiddle。在您的實際代碼中,只需將djConfig="parseOnLoad:true添加到您的<script>標籤即可。

+0

現在你指出了埃裏克我清楚地看到它。之前無法看到它。謝謝 ! – user3254414 2015-02-09 19:16:35

相關問題