0

对于一个非常简单的 Cordova/Dojo 应用程序,我遇到了“未知的铬错误:-6”。Cordova 2.9.0 没有发生这种情况?有人有这个问题吗?如果我在桌面上运行相同的 index.html,控制台会抛出此错误

Cross origin requests are only supported for HTTP. dojo.js.uncompressed.js:308
req.getText dojo.js.uncompressed.js:308
injectModule dojo.js.uncompressed.js:1522
doRequire dojo.js.uncompressed.js:6703
dojo.require dojo.js.uncompressed.js:6740
(anonymous function) index.html:63

Does anyone encounter this problem?

My application looks like this

<html>
    <head>
        <meta charset="utf-8" />
        <meta name="format-detection" content="telephone=no" />
        <meta name="viewport" content="user-scalable=no, initial-scale=1, maximum-scale=1, minimum-scale=1, width=device-width, height=device-height, target-densitydpi=device-dpi" />
        <link rel="stylesheet" href="js/dojo-1.9.1/dojox/mobile/themes/android/android.css" type="text/css" media="screen" title="no title" charset="utf-8">
        <link rel="stylesheet" type="text/css" href="css/index.css" />
        <script type="text/javascript" src="js/dojo-1.9.1/dojo/dojo.js.uncompressed.js" djConfig="parseOnLoad:true">

        <title>Hello World</title>
    </head>
    <body>


        <!-- ACCIDENT TOOLKIT PAGE -->
<div dojoType="dojox.mobile.View" id="accHelp" selected="true">
    <h1 dojoType="dojox.mobile.Heading">Accident</h1>
    <div class="text">If you are in an accident, you should first move to a safe 
    location. Below are some additional actions you can take:</div>
    <ul dojoType="dojox.mobile.RoundRectList">
        <li dojoType="dojox.mobile.ListItem" 
            onclick="window.location='geo:0,0?q=police';">Call the Police</li>
        <li dojoType="dojox.mobile.ListItem"
            onclick="window.location='geo:0,0?q=towing';">Call for a Tow Truck</li>
        <li dojoType="dojox.mobile.ListItem" moveTo="accInfo" transition="slide"
            onClick="itemClicked();">Exchange Driver Info</li>
        <li dojoType="dojox.mobile.ListItem" moveTo="accInfo" transition="slide"
            onClick="itemClicked();">Record Accident Location</li>
        <li dojoType="dojox.mobile.ListItem" moveTo="accInfo" transition="slide"
            onClick="itemClicked();">Take Photos of Accident</li>
    </ul>
</div>
<!-- EXCHANGE DRIVER INFO PAGE -->
<div dojoType="dojox.mobile.View" id="accInfo">
    <h1 dojoType="dojox.mobile.Heading" back="Accident" moveTo="accHelp"
        onClick="console.log('Going back');">Driver</h1>
    <h2 dojoType="dojox.mobile.RoundRectCategory">Other Driver Info</h2>
</div>


        <script type="text/javascript" src="cordova.js"></script>
        <script type="text/javascript" src="js/index.js"></script>
        <script type="text/javascript">
            dojo.require("dojox.mobile.parser");
            dojo.require("dojox.mobile");
        </script>
        <script type="text/javascript">
            app.initialize();
            function itemClicked() {
                 console.log("itemClicked()");
            }
        </script>
    </body>
</html>
4

2 回答 2

0

您是否尝试过全新发布的 Cordova 3.1?运气好的话,这可能会解决问题。

于 2013-10-11T06:39:52.480 回答
0

经过几天的调试,我终于找到了问题所在,这是由于某些dojo javascript文件名以下划线_开头。显然,这是 Android webkit 中的一个已知问题,它拒绝加载任何以本地文件系统中的下划线开头的文件名。

解决方法是使用dojo build。

于 2013-10-16T12:00:30.923 回答