If you’ve landed on this page you’re probably wondering why your hyperlinks are not working in your Google Workspace dialogue (dialog for my U.S. friends) box or sidebar.
This affects all locations where you can build a sidebar or dialogue with Google Apps Scripts, Sheets, Docs, Slides and Forms.
You might even hitΒ F12Β in your browser to inspect the code and found this dreaded error:
Unsafe attempt to initiate navigation for frame with origin ‘https://docs.google.com’ from frame with URL ‘https://n-yyi3lctp…<<fileID>>…-0lu-script.googleusercontent.com/userCodeAppPanel’. The frame attempting navigation of the top-level window is sandboxed, but the flag of ‘allow-top-navigation’ or ‘allow-top-navigation-by-user-activation’ is not set.
Why your Links aren’t working in your Google Workspace Dialogs and Sidebars
So what’s going on?
Dialogues and sidebars in Google Workspace are set in iframes. Essentially, this is a nested webpage on your main page. Take a look at the examples, below. I’m in Chrome here and I have selected the Developer Tools Element Selector (Ctrl + Shift + C for PC) and clicked on the Sidebar and Dialogue box respectively.
For the Sidebar.
And for the dialogue box.
When you create a simple HTML hyperlink in your anchor tag like this:
<a href="https://yagisanatode.com">Website</a>
The Solution
The solution is really easy. Simply add target="_blank"
to your anchor element:
<aΒ href="https://yagisanatode.com"Β target="_blank">Website</a>
rel="noopener"
behaviour on most browsers to prevent the destination link from tampering with the original source.The video
Example Implementation
If you have found the tutorial helpful, why not shout me a coffee β? I'd really appreciate it.
Got a more specific problem you need help with, but donβt have the time to develop the skills? Make an enquiry on my βHire me!β page. I occasionally pick up projects. If I'm unable to right now, I can still help you find a great trusted freelancer.
One thought on “Using Hyperlinks in Dialogs and Sidebars to open a URL in a new Tab with Google Apps Script”