dojox.layout.ContentPane - executeScripts
Szervusztok!
Most döbbentem rá, hogy a dijit.layout.ContentPane-be betöltött script tag-ek kizárólag a firefox böngészőben futnak le. Utánajártam a dolognak és kiderítettem, hogy ebban az esetben, ha script-tag-ek vannak a tartalomban akkor a dojox.layout.ContentPane-t kell alkalmazni executeScript="true" pareméter értékkel. Szerencsére egy egyszerű replace-el ki tudtam cserélni mindenütt a forrásban. Összesen 92 helyen kellett cserélni.
A csere után a legtöbb helyen működik is szépen a dolog, azonban sok helyen mintha végtelen ciklus volna nem akar lefutni a kód és végül a böngésző dob fel egy ablakot, hogy le kívánom-e állítani a program futását. Értetlenül állok a dolog előtt. A végletekig megróbáltam leegyszerűsíteni a script tag-et és végül csak ennyit hagytam benne:A tünet ugyan az. Mi lehet a baj? Ha a script tag-ben csak ennyi van:Akkor a lefut a program.
Segítségeket előre nagyon köszönöm!
sirkalmi
Mariák Kálmán
■ Most döbbentem rá, hogy a dijit.layout.ContentPane-be betöltött script tag-ek kizárólag a firefox böngészőben futnak le. Utánajártam a dolognak és kiderítettem, hogy ebban az esetben, ha script-tag-ek vannak a tartalomban akkor a dojox.layout.ContentPane-t kell alkalmazni executeScript="true" pareméter értékkel. Szerencsére egy egyszerű replace-el ki tudtam cserélni mindenütt a forrásban. Összesen 92 helyen kellett cserélni.
A csere után a legtöbb helyen működik is szépen a dolog, azonban sok helyen mintha végtelen ciklus volna nem akar lefutni a kód és végül a böngésző dob fel egy ablakot, hogy le kívánom-e állítani a program futását. Értetlenül állok a dolog előtt. A végletekig megróbáltam leegyszerűsíteni a script tag-et és végül csak ennyit hagytam benne:
function MenuWithAdminClass() {
this.setUrl = function(url) {
console.log('hmm');
}
}
var menuWithAdmin = new MenuWithAdminClass();
console.log('hmm');
Segítségeket előre nagyon köszönöm!
sirkalmi
Mariák Kálmán
Őrület!
Minden script tag előtt meghívok egy tld tag library-t ami visszaad egy értéket. Rendszerint ez az érték egy szám, ha sikeres a lefutás és valami szöveg, ha sikertelen. Ezt az értéket mivel nem akarom megjeleníteni, ezrét egy html comment-be szoktam meghívni a tld-t.
Azt fedeztem fel, ha a script tag előtt egy számot tartalmazó html comment van akkor produkálja a fent leírt tüneteket. pl: <!-- 1 -->
Wtf?
sirkalmi
Példa
Firefox, IE és Opera alatt
Minden kétséget kizárva az alábbi kód nem fut le:
<!--1-->
<script type="text/javascript">
console.log('hmm');
</script>
Ez pedig lefut:
<!--blabla: 1-->
<script type="text/javascript">
console.log('hmm');
</script>
Lefut
<!-- 1 -->
szerepelt, nem<!--1-->
. A fenti kódot akár magad is kipróbálhatod.Mostmár tényleg kíváncsi vagyok, hogyan tudod reprodukálni, és mitől lett dojo bug?
Így pesze, hogy lefut. Ezt
Ezt tedd bele egy file-ba:
# <!--1-->
# <script type="text/javascript">
# console.log('hmm');
# </script>
Hivatkozd meg egy dojox.layout.ContentPane -ben executeScripts="true" paraméter értékkel és akkor produkálja a hibát. Szerintem a dojox.layout.ContentPane-ben van a hiba.
Dojo