ハードディスクからファイルを読み取る必要があるダッシュボード ウィジェットを開発しています。Javaスクリプトではファイルにアクセスできないことを知りました。Apple のドキュメントを調べると、cocoa プラグインを使用して可能であることがわかりました。しかし、アップルのドキュメントに記載されている例に従うだけでは、これを機能させることができませんでした。.h および .m ファイルを追加し、Webkit メソッドを実装した新しいバンドルを作成しました。少なくとも、ウィジェット js から cocoa メソッドを呼び出したいだけです。ダッシュボード ウィジェットを使用したココア バンドルを示すサンプル コードはありますか? NSSString を返す単純なメソッドを呼び出すだけで問題ありません。
FileAccess バンドルに記述したコードは次のとおりです。(ReadFile.m)
#import <WebKit/WebKit.h>
@implementation ReadFile
- (void) windowScriptObjectAvailable:(WebScriptObject *) windowScriptObject {
[windowScriptObject setValue:self forKey:@"MyWindowScriptObject"];
}
- (NSString *)fileData {
return @"File contents";
}
+ (BOOL)isSelectorExcludedFromWebScript:(SEL)aSelector {
return NO;
}
+ (BOOL)isKeyExcludedFromWebScript:(const char *)name {
return NO;
}
@end
ありがとう。