1

ScriptingBridge を使用して Safari を制御する Objective-C アプリがあります。それは機能しますが、新しい機能のコードを書くのに苦労しています - 新しいウィンドウで URL を開くように Safari に指示することです。私が望むことを行うAppleScriptは次のとおりです。

tell application "Safari"
make new document at end of documents
set URL of document 1 to "http://www.apple.com/"
end tell

ScriptingBridge を使用して同等のコードにしたいと考えていたのは次のとおりです。

NSString *appName = @"com.apple.Safari";
safariApp = [SBApplication applicationWithBundleIdentifier:appName];

SafariDocument *doc = [[[safariApp classForScriptingClass:@"document"] alloc] init];
[[safariApp documents] addObject:doc];
doc.path = @"http://www.ford.com";

後者のコードを実行すると、Safari は新しいウィンドウを開きますが、ウィンドウには www.ford.com ではなく、私のホームページが表示されます。

どうしたの?

4

1 に答える 1

0

解決策は次のとおりです。

NSDictionary *theProperties = [NSDictionary dictionaryWithObject:@"http://www.ford.com" forKey:@"URL"];
SafariDocument *doc = [[[safariApp classForScriptingClass:@"document"] alloc] initWithProperties:theProperties];
[[safariApp documents] addObject:doc];
[doc release];
于 2012-04-07T04:54:29.567 に答える