0

index.html在 MainAction 中加载。

里面有一个链接index.html会去game.html。因为我需要index.html并且game.html使用横屏,所以我不能使用类似<a href="game.html">in 的东西index.html。否则只会index.html使用横屏,game.html会使用由设备方向决定的屏幕,这是意料之外的。所以我在 Java 中创建了一个类来控制加载网页:

public class JsHelper {
    private MainActivity activity;

    public JsHelper(MainActivity act) {
        activity = act;
    }

    public void goToHtml(String url) {
        activity.loadUrl("file:///android_asset/www/" + url);
    }
}

index.html,我称之为去game.html

window.JsHelper.goToHtml("game.html");

这是我可以game.html使用 Landscape screen的唯一方法。

但问题来了。

如果document.addEventListener('deviceready', init, true);在 中index.htmlinit()将被调用一次。

但如果它是 in game.htmlinit()将永远不会被调用,即使没有document.addEventListener('deviceready', init, true);in index.html

游戏.html:

$(document).ready(function() {
    document.addEventListener('deviceready', init, false);
}

function init() {
    alert("init");
}

API 中的东西不起作用。navigator.accelerometer将为空。

我想使用navigator.accelerometer并确保game.html使用风景。请帮我!

4

1 回答 1

0

我看不出你为什么不在 game.html 网站上触发“deviceReady”事件。您只需要添加带有脚本标签的cordova.js,它就会触发。

function ondeviceready(){

     //Call Cordova Functions here
}
于 2012-09-03T12:51:54.793 回答