2010-05-26 48 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]; 
相關問題