Cordova ondevice准备就绪,无法正常工作

时间:2019-01-20 17:42:45

标签: cordova

我已经生成了一个空白的新Cordova项目(使用WebStorm)。由于某种原因,如果我要内联添加事件侦听器(用于deviceready),它将无法正常工作。如何使用外部文件,效果很好。

index.html

<body>
    ....
    <script type="text/javascript" src="cordova.js"></script>
    <script type="text/javascript" src="js/index.js"></script>
</body>

index.js

var app = {
    initialize: function() {
        document.addEventListener('deviceready', this.onDeviceReady.bind(this), false);
    },
    onDeviceReady: function() {
        alert('ondeviceready');
    }
};

app.initialize();

这很完美,警报将被触发。

但是如果我将事件监听器内联,它将不会触发:

 <body>
    <script type="text/javascript" src="cordova.js"></script>
    <script type="text/javascript" src="js/index.js"></script>
    <script type="text/javascript">
        document.addEventListener("deviceready", onDeviceReady,false);
        function onDeviceReady() {
            alert('ondeviceready');
        }
    </script>
</body>

我还尝试将整个index.js粘贴为内联脚本,但都没有起作用。

有人对此罕见原因有解释吗?

1 个答案:

答案 0 :(得分:0)

我认为原因是在第二个示例中,尚未声明onDeviceReady。 试试这个

<script type="text/javascript">
    function onDeviceReady() {
        alert('ondeviceready');
    }
    document.addEventListener("deviceready", onDeviceReady,false);
</script>