0

PhoneGap を使用して Android アプリを開発しています。index.htmlで、次のような js ファイルをロードします。

index.html

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<link rel="stylesheet" href="styles/style.css" />
<link rel="stylesheet" href="styles/loading.css" />
<script src="scripts/jquery-1.7.2.min.js"></script>
<script type="text/javascript" src="scripts/cordova-2.5.0.js"></script>
<script type="text/javascript" src="scripts/readImages.js"></script>

<script type="text/javascript">
    function onReadImage(event) {
        //do something
    }
    document.addEventListener("onReadImage", onReadImage, false);
</script>
</head>
<body>
<!--
  .....
-->
</body>
</html>

readImages.js

// Some codes

window.readImageEvent= document.createEvent("readImageEvent"); // line 4
readImageEvent.initEvent("onWeddingCakesRead", true, true); 

//Some functions

readImageEvent.images = data;
document.dispatchEvent(readImageEvent);

しかし、LogCat を確認すると、次のエラーが表示されます。

キャッチされないエラー: NOT_SUPPORTED_ERR: file:///android_asset/www/scripts/readImages.js での DOM 例外 9: 4

何か案は?

4

2 に答える 2

1

最後に私は問題を発見しました。

以下のコードを変更しました。

window.readImageEvent= document.createEvent("readImageEvent");

に:

window.readImageEvent= document.createEvent("Event");

「readImageEvent」は適切なイベント タイプではないためです。このリンクは、この問題について非常に役立つ可能性があります。

于 2013-04-17T21:45:42.860 に答える
0

developer.mozilla.orgによると

createEvent メソッドは非推奨です。

私は、次のようなことを試すことができると思います:

var readImageEvent = new CustomEvent(
    "onReadImage",
    {
        detail: {
            images: data
        },
        bubbles: true,
        cancelable: true
    }
);
document.dispatchEvent(readImageEvent);

使用方法、互換性などの詳細については、こちらをご覧ください

于 2013-04-17T20:45:55.627 に答える