2012-03-30 15 views
1

ScriptingBridgeを使用して最前面にアクティブなSafariウィンドウ(Mountain Lion Developer Preview 2で動作するSafari 5.2)のURLを取得しようとしていますが、ウインドウがフロントウインドウかどうかを判断するためのプロパティを見つける。ScriptingBridgeとObjective-Cを使用して前面のSafariウィンドウを見つける

SafariApplication *safari = [SBApplication applicationWithBundleIdentifier:@"com.apple.Safari"]; 
for (SafariWindow *window in safari.windows) { 
    if ([window visible]) { 
     // Top most, active window? 
    } 
} 

これは動作しません - 私は2つの開いているSafariのウィンドウを持っている場合、両方がvisibleです。

SafariWindowindexプロパティも、Windows配列の順序も使用しません。

になりますので、「Safariから現在のWebページを取得」というオートメーションアクションがありますが、どのように表示されるのでしょうか。

答えて

0

あなたはそれが想定されますので、それはあなたがwindows配列の順序が助けにはならなかったと言う奇妙だAppleScriptの

tell application "Safari" to get URL of front document 
+0

はい、でも、私はScripting BridgeとObjective-Cで行う必要があります。 –

+0

NSAppleScriptクラスを使用できます。 –

0

を使用することができます:定義で、「最初の」ウィンドウが最前面一つです。また、SafariウィンドウにはURLがありません。 URLを持つタブがあります。したがって、必要なものは次のとおりです。

safari.windows[0].currentTab.URL 
関連する問題