首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在file:///协议下使用dojo自定义构建(Cordova/Phonegap)

如何在file:///协议下使用dojo自定义构建(Cordova/Phonegap)
EN

Stack Overflow用户
提问于 2014-05-25 15:41:57
回答 2查看 410关注 0票数 4

我使用dojo框架开发了一个web应用程序。这个应用程序必须由使用file:///协议的浏览器加载(它将成为用于安卓/iPad的Cordova/Phonegap应用程序)。index.html文件如下所示:

头剖面

代码语言:javascript
复制
<script type="text/javascript">
    var dojoConfig =  {
        parseOnLoad: true
    }
</script>

<script type="text/javascript" src=""dojo.js"/>

<script type="text/javascript">
  dojo.require("dojox.mobile.parser");
  dojo.require("dojox.mobile");
</script>

车身切片:

代码语言:javascript
复制
<script type="text/javascript">
    dojo.require("dojox.mobile.parser");
    dojo.require("dojox.mobile");
</script>

它摘自IBM课程(移动应用程序开发,第1部分:安卓上的PhoneGap和Dojo)。

所以有两个问题:

1) dojo尝试加载模块,但未能使用file:///协议进行加载。HTTP协议是必需的。

2)在index.html中,我使用web构建器定制的dojo构建。此构建由一个包含我需要的模块的文件组成。但是,这些模块必须是必需的,这使得框架尝试从不存在的文件中加载它们,尽管它们已经加载在大型自定义dojo.js中。

也许有人知道如何解决这两个问题。

EN

回答 2

Stack Overflow用户

发布于 2014-05-28 12:31:08

您在哪个浏览器上测试您的代码?出于安全考虑,Chrome不允许一个Html文件中的多个域。在firefox浏览器上尝试您的代码,它应该提示一个警告并运行代码。还要确保index.html文件位于dojo (dojo )的父目录中。i.e

您的目录结构应该如下所示

--dojo_source/dojo_库

|

X-index.html。

还使用浏览器文件中的文件协议运行代码://

希望这能有所帮助。

另一种选择是安装web服务器。您可以尝试“猫鼬”的web服务器,它非常轻,只有136 web的大小。然后您可以设置它来运行您的dojo代码。我一直在使用web服务器,这对于测试我的代码来说是很棒的。

票数 0
EN

Stack Overflow用户

发布于 2015-02-03 10:35:31

您不能通过文件协议使用dojo,因为AMD引擎延迟通过XHR请求加载依赖项,而XHR请求不会那样工作。

参见:http://www.sitepen.com/blog/2014/07/30/dojo-faq-why-do-i-need-to-use-an-http-server-with-dojo/

考虑一下简单地使用节点js web服务器进行开发,并在电话应用程序中嵌入一个小型web服务。

您仍然可以尝试通过过时但仍然可用的接口dojo.someModule访问模块,因为由于兼容性问题,这些模块是在全局命名空间中定义的。不过,我不确定这是否有效。

您还可以尝试在dojo配置中将异步设置为false。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23857046

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档