我想製作一個iphone應用程序。在那個應用程序中,我使用Javascript。我想知道從Javascript調用一個客觀的C函數函數是可能的。如果是,那我們該怎麼做?如果不是,那麼有沒有其他的選擇?如何從JavaScript調用Objective-C函數?
感謝 Akansha
我有這樣的Java腳本代碼。所以每當我輸入「onPlayerStateChange」函數,我想打開一個文件,並在這個文件中寫入一些事件。但是我不能在javascript中打開和寫入文件,因爲我不知道文件的位置。使用objective-c我可以在documentsDirectory中打開和寫入數據,但我不確定JavaScript。所以我打算在「onPlayerStateChange」中調用一個函數,該函數在Objective-C .m文件中。並且只要輸入「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>
我想答案是不完美的用戶想從javascript不是從一些委託方法 – 2012-04-17 08:27:01
調用函數@AalokParikh也許你應該閱讀我的文章的編輯版本! – CarlJ 2012-04-17 08:29:58
好吧這是好的 – 2012-04-17 08:31:50