我正在尝试使用 Scripting Bridge 在 Cocoa 的 Safari 窗口中创建一个新选项卡。我的代码看起来像这样:
SafariApplication *safari = [SBApplication applicationWithBundleIdentifier:@"com.apple.Safari"];
if ([[safari windows] count] == 0)
{
NSLog(@"No window found. Creating a new one.");
SafariDocument *newDoc = [[[safari classForScriptingClass:@"document"] alloc] init];
[[safari windows] addObject:newDoc];
[newDoc release];
}
else
{
NSLog(@"Seems we already have a safari window");
SafariTab *newTab = [[[safari classForScriptingClass:@"tab"] alloc] init];
[[[safari windows] objectAtIndex:0] addObject:newTab];
[newTab release];
}
第一部分如果“if”有效,则创建一个新窗口。创建选项卡则不会。这让我“-[SafariWindow addObject:]:无法识别的选择器发送到实例...”,所以显然这不是这样做的方法。我无法弄清楚 Safari 中窗口、文档和选项卡如何相互关联。非常感谢任何帮助。
谢谢
雷神
最佳答案
啊哈!在窗口中创建选项卡是:
SafariTab *newTab = [[[safari classForScriptingClass:@"tab"] alloc] init];
[[[[safari windows] objectAtIndex:0] tabs] addObject:newTab];
[newTab release];
关于cocoa - 来自 Cocoa 和 Scripting Bridge 的 Safari 窗口中的新选项卡,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2912161/