0

私はChromeWebAppsの初心者で、Bump'n'JumpのJavaScript/HTML5クローンをパッケージ化されたアプリとしてパッケージ化しようとしています。Chromeのセキュリティポリシーの壁にぶつかっています。

function pump() {
    while (1) {

        game_loop();
        var now = timeGetTime();
        var time_diff = next_time - now;
        next_time += (1000 / 60);

        if (time_diff>0) {
            // we have time left
            setTimeout("pump()", time_diff);
            break;
        }
        // debug("frametime exceeded: " + (-time_diff));
    }
}

走ることを拒否しsetTimeout("pump()", time_diff);

Refused to evaluate script because it violates the following Content Security Policy      directive: "default-src 'self' chrome-extension-resource:". Note that 'script-src' was not explicitly set, so 'default-src' is used as a fallback.

エラーはコードにありません。ブラウザのChromeの外部で機能するため、Chromeのセキュリティはそれを好まないようです。なぜ実行したくないのか誰か教えてもらえますpump()か?

4

1 に答える 1

4

これが役立つかどうかはわかりませんが、次のことを試してくださいsetTimeout。文字列パラメータを置き換えます。

function pump() {
    while (1) {

        game_loop();
        var now = timeGetTime();
        var time_diff = next_time - now;
        next_time += (1000 / 60);

        if (time_diff>0) {
            // we have time left
            setTimeout(pump, time_diff);
            break;
        }
        // debug("frametime exceeded: " + (-time_diff));
    }
}

setTimeoutまたはの実行パラメータに文字列を使用することsetIntervalは、と同等であり、eval悪い習慣と見なされます。

于 2012-11-02T06:43:06.460 に答える