2014-10-01 118 views
1

我想用苹果脚本来禁用隐私浏览检查隐私浏览菜单项在Safari中的AppleScript检查

之前,我跑禁用代码我想确保PrivateMode启用

为禁用我使用下面的苹果脚本

tell application "System Events" 
tell process "Safari" 
    click menu item "Private Browsing" of menu 1 of menu bar item "Safari" of menu bar 1 
end tell 
end tell 

问题是,如果我运行这个脚本和私人浏览未激活它将acti vate私人模式。

所以我想,如果私人模式被激活。所以才把我会打电话给上述苹果脚本

感谢

回答

1

使用“AXMenuItemMarkChar”的检查,以检测属性得到检查的菜单项。

tell application "System Events" 
    tell process "Safari" 
     tell menu item "Private Browsing" of menu 1 of menu bar item "Safari" of menu bar 1 
      if value of attribute "AXMenuItemMarkChar" is "✓" then click -- disabling 
     end tell 
    end tell 
end tell 

更新时间:

要不要打开一个应用程序(小程序的AppleScript或液滴)的前景:利用这个脚本可以在包的的Info.plist添加属性LSBackgroundOnly(小程序) 。

set tApp to choose file with prompt "Select your application (applet AppleScript)" 
set tPlist to quoted form of ((POSIX path of tApp) & "Contents/Info") 
do shell script "/usr/bin/defaults write " & tPlist & " LSBackgroundOnly -bool TRUE" 
do shell script "/usr/bin/defaults write " & tPlist & " LSUIElement -bool TRUE" 
+0

一个简单的问题:每当脚本运行的应用程序。应用程序来到前台.i.e当我在Safari浏览器上浏览和这个脚本是由我的应用程序运行Safari浏览器去背景和应用程序来到前台。我不希望我的应用程序来到前台 – 2014-10-08 13:21:10

+0

我编辑了我的答案。 – jackjr300 2014-10-08 20:21:17

+0

这不是我的问题。我不想让应用程序运行背景。我每隔15秒就从应用程序定时器调用这个脚本。当我在safari中浏览时,脚本被称为我的应用程序出现在前面,所以我需要每次点击safari图标返回到safari – 2014-10-13 10:51:25

1

有趣的事实: 在德语系统上运行Safari浏览器,菜单项标题为“隐私浏览...”切换到“隐私浏览” (不含三个点)。这是不可能的开启和关闭私人浏览使用相同的处理器

tell application "System Events" 
    tell process "Safari" 
     try 
      -- turn Private Browsing on 
      click menu item "Privates Surfen …" of menu 1 of menu bar item "Safari" of menu bar 1 
      -- turn Private Browsing off 
      click menu item "Privates Surfen" of menu 1 of menu bar item "Safari" of menu bar 1 
     end try 
    end tell 
end tell 

我没有一个英文系统在这里,也许有这样的标题开启你的系统,也?

迈克尔/汉堡