LINUX.ORG.RU

dojo проблема подключения


0

0

Прошу прощения за глупый и детский вопрос.
Но впал в ступор.
приступил к изучению dojo framework-1.0.1
собсвтено нашел пример hello world. cделал то же что и описано в примере.
и! неработает. вообще ничего не происходит.
структура 
dojo_project:
|dojoAjax|
--------....
--------dojo.js
--------....
index.html
index.html выглядит
<html>
<head>
   <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
   <title>Insert title here</title>
   <script type="text/javascript" src="dojo/dojo.js"></script>
   <script type="text/javascript">
         dojo.require("dojo.event.*");
         dojo.require("dojo.widget.*");
         dojo.require("dojo.widget.Button");
         function helloPressed(){alert('You pressed the button');}
         function init(){
         var helloButton = dojo.widget.byId('helloButton');
            dojo.event.connect(helloButton, 'onClick', 'helloPressed')
         }
         dojo.addOnLoad(init);
    </script>
</head>
<body>
  <button dojoType="Button" Id="helloButton">Hello World!</button>
</body>
</html>

как я уже сказал ничего не просиходит. незнаю почему.
мб кто поможет

OS Ubuntu 7.10
Firefox 3.0
dojo-release-1.0.1 

Ответ на: комментарий от n00dle

> message: Could not load 'dojo.event.*'; last tried './event/*.js'

А если закомментировать вот эту строку:

dojo.require("dojo.event.*");

?

Скорее всего, после этого не пройдет вызов

dojo.event.connect(helloButton, 'onClick', 'helloPressed')

Но если сообщение изменится, то, скорее всего, проблемы в вызове dojo.require с шаблонамию Насколько я знаю, шаблоны при указании пакетов в dojo.require не разрашены. Правильно писать:

dojo.require("dojo.event");

Попробуйте так еще. И наконец, вот это тоже

dojo.require("dojo.widget.*");

dojo.require("dojo.widget.Button");

почти бессмысленно. Грузим вначале все виджеты, а потом только кнопку еще раз? А загрузка кнопки, по идее, должна вытянуть dojo.event по событиям. В общем,

dojo.require("dojo.widget.Button");

должно быть достаточно за глаза. Если не поможет, я позже посмотрю этот пример у себя еще раз.

P.S. Ну у них и скорость выпусков... Я только на этой неделе на 1.0.0 переполз...

eugine_kosenko ★★★
()
Ответ на: комментарий от eugine_kosenko

Тьфу, тороплюсь...

s/разрашены/разрешены/g

> должна вытянуть dojo.event по событиям

...по зависимостям, вестимо.

eugine_kosenko ★★★
()
Ответ на: комментарий от eugine_kosenko

фф выдает
Error: [Exception... "'Component is not available' when calling method: [nsIHandlerService::fillHandlerInfo]"  nsresult: "0x80040111 (NS_ERROR_NOT_AVAILABLE)"  location: "JS frame :: http://localhost/js/dojo/dojo.js :: anonymous :: line 20"  data: no]
Source File: http://localhost/js/dojo/dojo.js
Line: 20
Error: Could not load 'dojo.event.*'; last tried './event/*.js'
Source File: http://localhost/js/dojo/dojo.js
Line: 20
после того как закоментировал 
 //   dojo.require("dojo.event.*");
выдает
Error: [Exception... "'Component is not available' when calling method: [nsIHandlerService::fillHandlerInfo]"  nsresult: "0x80040111 (NS_ERROR_NOT_AVAILABLE)"  location: "JS frame :: http://localhost/js/dojo/dojo.js :: anonymous :: line 20"  data: no]
Source File: http://localhost/js/dojo/dojo.js
Line: 20
и
Error: Could not load 'dojo.event.*'; last tried './event/*.js'
Source File: http://localhost/js/dojo/dojo.js
Line: 20
если оставить только
 dojo.require("dojo.event");
  dojo.require("dojo.widget.Button");
результат
Error: [Exception... "'Component is not available' when calling method: [nsIHandlerService::fillHandlerInfo]"  nsresult: "0x80040111 (NS_ERROR_NOT_AVAILABLE)"  location: "JS frame :: http://localhost/js/dojo/dojo.js :: anonymous :: line 20"  data: no]
Source File: http://localhost/js/dojo/dojo.js
Line: 20
Error: Could not load 'dojo.event'; last tried './event.js'
Source File: http://localhost/js/dojo/dojo.js

n00dle
() автор топика

Все, кажется, понял!

> собсвтено нашел пример hello world. cделал то же что и описано в
примере.

Просто интересно, где Вы откопали этот пример?! Единственное, что
приходит на ум -- пример от dojo версии 0.4, а начиная с версии 0.9
там все принципиально поменялось. Вот, я исправил (проверил в
1.0.0):

<html>
<head>
   <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
   <title>Insert title here</title>
   <script type="text/javascript" src="dojo/dojo.js"></script>
   <script type="text/javascript">
         dojo.require("dijit.form.Button");
         function helloPressed(){alert('You pressed the button');}
         function init(){
            var helloButton = dijit.byId('helloButton');
            dojo.connect(helloButton, 'onClick', 'helloPressed')
         }
         dojo.addOnLoad(init);
    </script>
</head>
<body>
  <button dojoType="dijit.form.Button" Id="helloButton">Hello World!</button>
</body>
</html>

Тут еще вдобавок не хватает темы, поэтому вид кнопки еще стандартный.
Вообще советую начать изучение dojo вот отсюда:

http://dojotoolkit.org/book/dojo-book-0-9-0

А вот тут руководство по миграции с 0.4 по 0.9 и выше

http://dojotoolkit.org/book/dojo-porting-guide-0-4-x-0-9

eugine_kosenko ★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.