我正在编写一个在Safari中执行do javascript
的程序。唯一的问题是我试图让应用程序自己允许这样做。我正在尝试找到处理Safari开发人员首选项的文件,以便我可以执行此操作。有没有人知道这可能是什么或如何更改这些设置?
答案 0 :(得分:1)
虚拟键盘不适用于我。苹果公司develepoer论坛上的StarPlayr发现问题出在其他地方。 对我来说,当我尝试在远程Mac上执行此操作时出现问题。 对于某些将键盘和鼠标插入服务器的人来说,可以在Safari中打开JavaScript Apple Events并设置密码。
但是,对我来说这不是一个选择,因此,下一个最好的选择是使用可访问性脚本功能,并让计算机认为用户正在点击,从而允许您设置密码:
-延迟时间可能更短,坐标可能会变化
-获取坐标的最佳方法是使用Apple屏幕捕获(command-shift-3)从右上到左下(将显示坐标)
-如果花费时间,则可以通过将点击事件捕获为变量,或者检查事件并使用事件代替点击坐标来将点击事件转换为Accessibility AppleScript对象
tell application "System Events"
tell application "Safari"
activate
end tell
delay 1
-- click develop menu (make sure its on first)
click at {430, 12}
delay 1
-- click Allow Javascript menu from Apple Events
click at {615, 615}
delay 1
-- Click the Allow Button
click at {1010, 386}
end tell
答案 1 :(得分:0)
这是Safari的首选项~/Library/Preferences/com.apple.Safari.plist
。你想要的关键是AllowJavaScriptFromAppleEvents
。您可以使用defaults
:
#to turn it on
defaults write -app Safari AllowJavaScriptFromAppleEvents 1
#to turn it off
defaults write -app Safari AllowJavaScriptFromAppleEvents 0