0

OS x アプリから URL を開いています。以下のようにしています

[[NSWorkspace sharedWorkspace] openURL:[NSURL URLWithString:urlString]];

ボタンアクションでやっています。しかし、ボタンを押すたびに、新しいタブが開かれます。とにかく防ぐことはできますか?私が達成する必要があるのは、URLの新しいタブを開くのではなく、すでに開いている場合はタブを更新することです。それは達成できますか?

前もって感謝します!

4

3 に答える 3

0

次のように、ココアアプリケーションからapplescriptを呼び出してみてください。

NSAppleScript *run = [[NSAppleScript alloc] initWithSource:@"tell application \"Safari\" to do Javascript \"location.reload(true)\" in current tab of window 1"];
[run executeAndReturnError:nil];

スクリプトは、更新するURLが最初のSafariのウィンドウの現在のタブで開かれていることを前提としています。私はそれを試していません。

于 2012-11-15T10:26:39.160 に答える
-1

サンドボックス化されていない場合は、applescript を使用できます

NSString *s = @"tell application \"Safari\"\
    activate\
end tell\
\
tell application \"System Events\"\
    tell process \"Safari\"\
        keystroke \"r\" using {command down}\
    end tell\
end tell";

NSAppleScript *run = [[NSAppleScript alloc] initWithSource:script];
[run executeAndReturnError:nil];
于 2012-11-15T10:27:40.903 に答える