我目前正在尝试通过脚本桥
在Mac的Safari中启用“私人浏览”,但没有任何成功。以下代码显示了如何做同样的事情,但对于GoogleChrome(创建一个启用隐身模式的新窗口并打开一个新链接):
chromeBrowser = [SBApplication applicationWithBundleIdentifier:@"com.google.Chrome"];
ChromeWindow *window = [[[chromeBrowser classForScriptingClass:@"window"] alloc] initWithProperties:@{@"mode": @"incognito"}];
[chromeBrowser.windows addObject:window];
ChromeTab *tab = [window.tabs firstObject];
tab.URL = url;
[chromeBrowser activate];
但不幸的是,Safari的工作方式与Chrome略有不同。每个Chrome窗口在“隐私浏览”(隐姓埋名)方面都是独立工作的。在Safari中,当您启用“私人浏览”时,整个应用程序将反映该选项,而不仅仅是一个特定的窗口。关于如何使用ScriptingBridge
或类似的方法来实现这一点,有什么想法吗
谢谢!
Safari 的 AppleScript 字典不允许您访问隐私浏览模式,因此无法直接在脚本桥中执行此操作。
您可以使用System Events使用NSAppleScript执行此操作,如下所示:
tell application "Safari"
set menuItemName to localized string "Private Browsing …"
end tell
tell application "System Events" to tell process "Safari"
if menu item menuItemName of menu 1 of menu bar item 2 of menu bar 1 exists then
click menu item menuItemName of menu 1 of menu bar item 2 of menu bar 1
keystroke return
else
click menu item menuItemName of menu 1 of menu bar item 2 of menu bar 1
end if
end tell
系统事件脚本不能通过Scripting Bridge完成,它比直接为应用程序编写脚本更慢也更古怪,但它可能是您的最佳选择。如果您走这条路,请确保您的跨脚本权利包括系统事件应用程序的捆绑包ID。
问题内容: 在我的网页中,有一个链接应始终以私人浏览模式打开。那么如何使用HTML / javascript / jquery / php做到这一点呢? 问题答案: 这取决于用户。您不能强制用户以私人浏览模式打开浏览器。
我有一个selenium代码,它在Windows 7 for Safari浏览器上成功运行,但当我在MAc机器上运行Safari Browser中的类似代码时。 但我犯了一个错误。它正在打开新的Safari浏览器,但没有点击URL。我的代码是:= 我也浏览了官方网站,但是也没有用。 我得到的错误是:-线程“main”<code>org.openqa.selenium.remote中出现异常。无法访
我最近实现了shouldInterceptRequest方法来检测链接的时间“http://sitemercado.com.br/valida“点击在android浏览器中打开它,而不是在webview中内部打开,直到它工作为止。链接在浏览器中打开,但当我回来查看webview应用程序时,它也被加载了,我希望它只在浏览器中加载。 我的代码如下: 我哪里做错了?
问题内容: 是否有任何(简单/内置方式)打开新浏览器(我的意思是默认的OS浏览器)窗口来查找Electron链接的方法,而不是访问您Electron应用程序中的链接? 问题答案: 您可以简单地使用:
在开发菜单中没有找到对应设置,环境信息: Safari 17.3.1 MacOS 12.7.3
问题内容: <a target=”_blank” data-rel=”external” href="http://www.kidzout.com">www.kidzout.com 问题答案: 作为建议类似的问题,使用JavaScript来调用与参数设置为当按照InAppBrowser文档: 这应该起作用,尽管更好,更灵活的解决方案是拦截所有链接的事件,并使用从链接属性读取的参数进行调用。 请记住