How To Reload All Tabs In Safari On macOS
A few years ago, Safari has an option that allowed users to reload all tabs that were currently open. This option appeared when users right-clicked a tab. In subsequent versions of macOS, this option was retired. It obviously didn’t appear on the list of new features in macOS that Apple showcases at WWDC but those who used it don’t have any alternatives. That said, if you need to reload all tabs in Safari, and you need to do so often, you can use a simple Apple Script.
Reload All Tabs In Safari
Open the Automator app on macOS. Click the New Document button at the bottom. From the options that appear, select the Services option. On the next screen, open the “Service receives selected” dropdown and select ‘No Input’. Next, open the ‘In’ dropdown and select Safari from the list of applications. Lastly, from the library on the left, select Run AppleScript.
This will open a pane. Paste the following script in it so that it replaces the default text.
tell application "Safari" set a to tabs of the front window repeat with x in a set docUrl to URL of x set URL of x to docUrl end repeat end tell
Save the service with a name that tells you what it is for. Next, you need to allow the script to run in Safari. Open Safari and go to Safari>Preferences> Advanced>Show Develop menu in menu bar.
Open Develop menu in Safari and enable “Allow JavaScripts from Apple Events”.
So far, you’ve created the service and enabled whatever it is you for the service to run. Now comes the part of actually using the service and why it’s important to give them a proper name.
To run the service, open Safari and go to the Safari menu. Under Services, you will see the one you just created listed there. Click it to run the service and reload all tabs in Safari.
This solution is obviously not as good as the original option that was removed from Safari. That said, it’s not forcing you through extra steps or more clicks than before. Since this service was created specifically for Safari, you won’t see it listed in the Services sub-menu of other apps. Even if you find this solution a bit crude, it’s still much better than individually reloading every single tab you have open in Safari.
If you use Chrome on macOS, you can simply select all the tabs you want to reload, right-click any one of them and select the Reload option from the context menu.
Works like a charm, Thank you!
I get a syntax error: “Can’t make missing value into type text” for the line: “set URL of x to docUrl”.
I now get the same response as scamper. But it worked yesterday and this morning. ???
Hmmm. I’m still getting the syntax error — however, the automator works. It reloads all tabs. And then, after doing what it’s supposed to do, it sends an error message saying that it was not able to do what it was supposed to do.
I’m not a programmer, so this is just a guess — might the program generate the error message because it doesn’t terminate cleanly?