Dojo combobox не работает с последними версиями браузеров

#javascript #html #web #dojo

#javascript #HTML #веб #dojo

Вопрос:

Я работаю с dojo 1.6 и создал страницу, содержащую только выпадающий список.

Когда я запускаю его в Firefox 3.5, он работает, и все связанные с темой вещи и функциональность dojo работают нормально.

Но в последних версиях Firefox 3.6 и Chrome тема и функциональность (автоматический поиск) combobox не работают.

Вот мой код:

   <head>

  <script type="text/javascript" src="dojo/dojo.js" djconfig="parseOnLoad: true"></script>

        <script type="text/javascript">
            dojo.require("dijit.form.ComboBox");
            dojo.require("dijit.form.Button");
        </script>
        <link rel="stylesheet" type="text/css" href="dijit/themes/tundra/tundra.css" />
        <link rel="stylesheet" type="text/css" href="dijit/themes/tundra/form/Common.css" />
        <link rel="stylesheet" type="text/css" href="dijit/themes/tundra/form/Button.css" />
        </head>

    <body class="tundra">
        <p>Combox Box</p>
        <select dojoType="dijit.form.ComboBox" id="fruit" name="fruit">
            <option>           Apples           </option>
            <option>           Apricot           </option>
            <option>           Aarro           </option>
            <option selected>  Oranges          </option>
            <option>           Pears       </option>
            <option>           Mango       </option>
            <option>           Banana       </option>
        </select>

         <button dojoType="dijit.form.Button" type="button">Click Me</button>
    </body>
  

Ответ №1:

Отлично работает в любом браузере… если доступ осуществляется через http://, а не локально с помощью file://. Попробуйте просмотреть свою страницу через http, либо загрузив ее на удаленный сервер, либо используя локальную установку LAMP (XAMPP отлично подходит для разработки и запускается только тогда, когда вы явно запрашиваете его об этом, так что это не приведет к сбоям в вашей системе).

PS — Я не думаю, что вам нужны эти две строки:

 <link rel="stylesheet" type="text/css" href="dijit/themes/tundra/form/Common.css" />
<link rel="stylesheet" type="text/css" href="dijit/themes/tundra/form/Button.css" />
  

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

Комментарии:

1. Спасибо за ответ. На самом деле я не запускаю этот код ни на одном сервере, таком как XAMPP и т.д. Я запускаю его просто, как мы делаем простую HTML-страницу. Нужно ли мне создавать этот код?

2. @imran, вам просто нужно получить доступ к странице через http, что вы можете сделать, загрузив свои файлы на удаленный сервер или поработав с локальным сервером на вашем компьютере (XAMPP и т.д.). Если вы получаете доступ к странице непосредственно из папки на вашем компьютере, это не сработает. Вам не нужно ничего создавать или компилировать, просто загрузите страницу через http.

3. Да, после запуска с сервера это работает. Что может быть причиной того, что Dojo не работал должным образом вне сервера?