0

iphoneアプリを作ろうとしています。そのアプリでは、Javascript を使用しています。Javascriptから目的のC関数関数を呼び出すことが可能であることを知りたいです。はいの場合、どうすればそれを行うことができますか? そうでない場合、その代替手段はありますか?

ありがとうあかんしゃ

このJavaスクリプトコードがあります。そのため、「onPlayerStateChange」関数を入力するたびに、ファイルを開いて、このファイルにイベントを書き込みたいと考えています。しかし、ファイルの場所がわからないため、JavaScriptでファイルを開いて書き込むことができません。Objective-C を使用すると、documentsDirectory を開いてデータを書き込むことができますが、javascript についてはわかりません。そこで、objective-C .m ファイルにある「onPlayerStateChange」内の関数を呼び出すことを考えていました。そして、その関数は、「onPlayerStateChange」関数に入るたびにファイルに書き込みます。

今何か提案できますか?

<!DOCTYPE HTML>
<html>
<body>
<div id="player"></div>
<script>
    //Load player api asynchronously.
    var tag = document.createElement('script');
    tag.src = "http://www.youtube.com/player_api";
    var firstScriptTag = document.getElementsByTagName('script')[0];
    firstScriptTag.parentNode.insertBefore(tag, firstScriptTag);
    var done = false;
    var player;
    function onYouTubePlayerAPIReady() {
        player = new YT.Player('player', {
          height: '390',
          width: '640',
          videoId: 'JW5meKfy3fY',
          events: {
            'onReady': onPlayerReady,
            'onStateChange': onPlayerStateChange
          }
        });
    }
    function onPlayerReady(evt) {
        evt.target.playVideo();
    }
    function onPlayerStateChange(evt) {
        if (evt.data == YT.PlayerState.PLAYING && !done) { // NEED TO ADD FILE OPERATION HERE
            setTimeout(stopVideo, 6000);
            done = true;
        }
    }
    function stopVideo() {
        player.stopVideo();
    }
</script>
</body>
</html>
4

3 に答える 3

1

はい、 HTML/JS コンテキストを使用してUIWebViewを作成できます。

- (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType

リクエストをキャッチして obj-c メソッドを呼び出すことができます。または、Appcelerator のような同じソリューションを作成します: https://stackoverflow.com/a/2471774/644629

于 2012-04-17T08:18:17.957 に答える
1

JAVA/ANDROID のように直接行うことはできません。以下の私の答えを参照してください

iOS UIWebView Javascript - データを挿入 - コールバックを受け取る?

于 2012-04-17T11:11:07.573 に答える
0

Objective C モジュールを作成してアプリにインポートし、JavaScript から呼び出すことができます。これはあなたが探しているものですか:

http://developer.appcelerator.com/doc/mobile/iphone/module_sdk

于 2012-04-24T08:07:08.270 に答える