2017-02-03 24 views
0

Safariでポップアップウィンドウのブロックを自動化しようとしています。 私は、次のデフォルトの動作はAppleScriptでSafariのポップアップウィンドウをブロックする

defaults write com.apple.Safari WebKit2JavaScriptCanOpenWindowsAutomatically -boolean false 

しかし、これはそれを行うには失敗した書き込みをしようとしています。私もそれを真実として設定しようとしましたが、それは助けにはなりませんでした。私は現在AppleScriptを使ってそれを行う方法を見つけようとしています。 これは私がこれまでに書かれたものである -

CMD_ACTIVATE='tell application "Safari" to activate' 
CMD_NEWTAB='tell application "System Events" to keystroke "," using {command down}' 
osascript -e "$CMD_ACTIVATE" -e "$CMD_NEWTAB" 

これは好みを開きますが、その後、私は空白を描きます。どのように進むべきかについての提案があれば誰でも?また、これをAppleScriptでのみ解決する必要はありません。他の方法でも役立ちます。

注:Mac OSは1週間しか使用していませんが、このOSのニュアンスにはあまり精通していませんので、お答えする際に少し説明してください。おかげさまで

答えて

0

ブロックするポップアップウィンドウはSafari/preferences/tab Securityから実行され、正しいチェックボックスを設定する必要があります。

この設定は、ライブラリー/プリファレンスファイルcom.safari.plistに格納されているように見えます。com.apple.Safari.ContentPageGroupIdentifier.WebKit2JavaScriptCanOpenWindowsAutomaticallyフラグが設定されています。

ただし、変更する唯一の場所ではない場合もありますが、正式に文書化されていないため、Appleによっていつでも変更することができます。これは使用することはお勧めしません。

SafariはAppleScriptの処理イベントが非常に貧弱であるため、Applescriptに戻ると、GUIスクリプティングを余儀なくされます。それはあなたが始めたことですが、AppleがSafari設定ウィンドウのレイアウトを変更した場合は、スクリプトをレビューする必要があります。

GUIスクリプティング(他のソリューションが見つからない場合のみ)は、GUIオブジェクトの構造を理解する必要があります。ウィンドウには、階層モデルのボタン、チェックボックス、ツールバーなどがあります。例えば、Safariの環境設定ウィンドウにはツールバーが表示され、オブジェクト「グループ1」にはツールバーの現在の選択に応じて多くのオブジェクトが含まれています。あなたがその概念を理解すれば、あなたが探しているものありません以下のスクリプトは、多くのコメントを理解しやすいようになります。

tell application "Safari" to activate 
tell application "System Events" 
keystroke "," using {command down} 
delay 0.2 -- leave sometime to open window 
tell window 1 of process "Safari" 
    click button 6 of toolbar 1 -- Security button is number 6 
    delay 0.2 
    -- check if check box not yet set and set it. 
    if (value of checkbox 5 of group 1 of group 1) = 0 then click checkbox 5 of group 1 of group 1 
end tell 
delay 0.2 
click button 1 of window 1 of process "Safari" -- click on red/close button 
end tell 

私はサファリ10.0.3上で実行しています。お使いのバージョンが異なる場合は、環境設定ウィンドウが異なる場合があります。次に、スクリプトを調整する必要があります:セキュリティタブのボタンがバージョン番号6以上にならない場合があります。

+0

おかげさまで、ありがとうございます。しかし、私はいくつかの問題にぶち当たっています。私はSafari 9.1.2を実行しています。このバージョンでは、Securityタブに合計5つのチェックボックスがあり、ポップアップウィンドウのオプションをブロックするのは3つ目です。そのままにしておけば、「プロセスのウィンドウ1を教えてください」と書かれたステップをタブに変更することはありませんSafari「ツールバー1のボタン6をクリック」 – ShdwKnght333

+0

このステートメントはエラーを出しています。エラーは '144:145:構文エラーです:期待される行末ですが、" ""が見つかりました。 (-2741)⁠⁠⁠⁠' – ShdwKnght333

+0

これは私の答えで言いました:Safariのウィンドウレイアウトの違いは、GUIを変更する必要があります。私はこれをSafari 10.0.3で作成し、それをあなたの設定ウィンドウのレイアウトに合わせなければなりません9.1.2。また、コマンド "、"もあなたのバージョンの環境設定ウィンドウを開いていることを確認してください。構文エラーについては、 "が見つからない場合は、スクリプトを正しくコピーしていない可能性があります。 – pbell

関連する問題