2

ScriptingBridgeを使用してSafariにURLを開かせるObjective-Cコードを使用しています。何かのようなもの:

#import "Safari.h"  /* created by executing "sdef /Applications/Google\ Chrome.app | sdp -fh --basename GoogleChrome" */
if ((safariApp = [SBApplication applicationWithBundleIdentifier:@"com.apple.Safari"]) == nil) {
    NSLog(@"couldn't access Google Chrome");
} else {
    NSString *theUrl = [NSString stringWithUTF8String:"http://www.ford.com"];
    NSDictionary *theProperties = [NSDictionary dictionaryWithObject:theUrl forKey:@"URL"];
    SafariDocument *doc = [[[safariApp classForScriptingClass:@"document"] alloc] initWithProperties:theProperties];
    [[safariApp documents] addObject:doc];
}

Safariの代わりにChromeでも同じことをする同様のコードを作成したいと思います。もちろん、「Safari.h」を「GoogleChrome.h」に、「com.apple.Safari」を「com.google.Chrome」に変更する必要があります。最後の3行を変更する方法がわかりません-GoogleChrome.hに「GoogleDocument」の定義がありません

4

2 に答える 2

2
GoogleChromeApplication *application = [SBApplication applicationWithBundleIdentifier:@"com.google.Chrome"];
GoogleChromeWindow *window = [[[application classForScriptingClass:@"window"] alloc] initWithProperties:nil];
[application.windows addObject:window];
window.activeTab.URL = @"http://www.example.com";
[window release];
[application activate];
于 2013-01-30T01:22:53.547 に答える
1

必要なものを手に入れるために私が見つけた唯一の方法は、AppleScriptを使うことです。

NSString *script = @"tell application \"Google Chrome\" to \
                    open location \"http://www.ford.com\"";
NSAppleScript* appleScript = [[NSAppleScript alloc] initWithSource: script];
[appleScript executeAndReturnError:nil];

これはSafariFirefoxでも機能します(もちろん、またはで変更\"Google Chrome\"する必要があります)。\"Safari\"\"Firefox\"

于 2012-11-01T08:02:04.480 に答える