在 objective-c 项目中从 javascript 读/写文本文件
Read/write text file from javascript in objective-c project
我正在为iPhone制作一个应用程序,并且我正在使用Javascript在UIWebView中制作嵌入式youtube。我想从javascript打开/读/写一些事件的文件,然后想在objective-c代码中使用该文件。但是我该怎么做呢?我的意思是我可以在什么位置保存和打开文件。
我制作了一个名为youtubeAPI的文件.html并从objective-c代码调用此文件。它成功打开页面。现在我想打开一个文件并在每次更改状态时写入内容,然后需要在 obejective-c 的最终结果中显示该文件。请告诉我我该怎么做。
<!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>
谢谢阿坎沙
// Get file path
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];
NSString filePath = [documentsDirectory stringByAppendingPathComponent:filename];
// Read file contents
NSString *content = [NSString stringWithContentsOfFile:filePath encoding:NSUTF8StringEncoding error:nil];
// Write file contents
[[content dataUsingEncoding:NSUTF8StringEncoding] writeToFile:filePath atomically:NO];
UIWebView 是一个沙箱,没有机会这样做,javascript 不能直接访问文件系统,这是我所知道的。但你可以做其他事情。第一:将状态保存到窗口对象中;
such as window.state = "someting";
第二:通过Objective-C读取状态;
NSString *state = [webView stringByEvaluatingJavaScriptFromString:@"window.state"];
相关文章:
- 使用不带文本文件的OpenLayers显示POI
- 使用javascript从文本文件中获取值
- 从javascript中的文本文件中获取值
- 在移动浏览器上显示大型文本文件
- 搜索文本文件并附加到表中
- 将文本文件加载到javascript中
- Angular http.get没有'我不喜欢在开头和结尾加方括号的文本文件
- 一个javascript实现base64图像编码并将结果写入文本文件
- 用javascript读取文本文件的第一行
- 从文本文件js中读取列表
- 使用JavaScript将压缩文本文件加载到字符串中
- 数组在手动写入时有效,但从文本文件加载时无效
- 在浏览器中打开文本文件-服务器上出现错误
- html表单,它有文本和表,现在我想在一个简单的文本文件中保存和检索数据,如何实现它
- 任何编写文本文件并将其替换为上一个文本文件的方法
- html或java脚本代码在硬盘中创建一个文本文件
- Firefox插件:保存到文本文件的HTTP日志,其中包含时间、用户名、计算机名;t创建文本文件
- 从文本文件加载jsondata时出现空白页
- 如何在不干扰电子邮件通知的情况下将眼镜保存在文本文件中
- 使用javascript创建新的文本文件(),但存储[objectFile]而不是文本