2010-05-26 62 views
2

我正尝试使用Scripting Bridge在Cocoa的Safari窗口中创建一个新选项卡。我的代码看起来是这样的:Cocoa和Scripting Bridge的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]; 
     } 

第一部分,如果“如果”的作品,创造了新的窗口。创建选项卡不。这让我“ - [SafariWindow addObject:]:无法识别的选择器发送到实例...”,所以显然不是这样做。我无法弄清楚在Safari中Windows,文档和标签是如何相互关联的。任何帮助是极大的赞赏。

感谢,

雷神

回答

2

A-HA!在窗口中创建标签是:

SafariTab *newTab = [[[safari classForScriptingClass:@"tab"] alloc] init]; 
[[[[safari windows] objectAtIndex:0] tabs] addObject:newTab]; 
[newTab release]; 
相关问题