2012-02-22 4 views
0

iPadに表示しようとしている簡単なテストページ(下記)があります。このページでは、Dojoモバイル・モジュールをいくつかロードし、アラート・ボックスを表示します。アラートボックスがポップアップし、モバイルデバイスのテーマが適用されます.10または20ページのリフレッシュごとに1回のタイムアウトが適用されます。ただし、非同期をオフにすると、ページがリフレッシュされるたびにアラートが表示されます。async = trueのときにDojoスクリプトがiPadで実行されない

Dojoの非同期ロード・モードと私が気付いていないモバイル・デバイスの間に互換性がないか、このコードを何らかの方法で正しく構成していませんか?

私はDojo 1.7.1の未使用バージョンを使用しており、Djangoの開発サーバーでページを提供しています。

<!DOCTYPE html> 
<html lange="en"> 
    <head> 
    <meta charset="utf-8"> 
    <meta name="viewport" 
      content="width=device-width,initial-scale=1,maximum-scale=1,minimum-scale=1,user-scalable=no"/> 
    <meta name="apple-mobile-web-app-capable" content="yes"/> 
    <title>Testing Stuff</title> 

    <script> 
     dojoConfig = { 
      parseOnLoad: true, 
      async: true 
     }; 
    </script> 
    <script src="/static/js/dojo/dojo.js"></script> 
    </head> 

    <body> 
    <h1 id="heading">Mobile!</h1> 
    <script> 
     require(['dojox/mobile', 
       'dojox/mobile/deviceTheme'], function() { 
     dojo.ready(function() { 
      alert('hello'); 
     }); 
     }); 
    </script> 
    </body> 
</html> 

答えて

0

もう少し掘り下げた後、私は自分の質問に対する答えを見つけたと思う。 Django dev ticket 3357によれば、Django開発サーバー(runserver)はシングルスレッドであるため、複数の同時要求を処理することはできません。 Dojoのローダーを非同期モードにすると、複数の同時要求が発生するため、問題の原因になる可能性があります。

Dojoをasyncで有効にすることは、Django開発サーバーではサポートされていません。

関連する問題