...Without resorting to loading a page with a button in the iframe.
$("[href='/courses/<course #>/external_tools/<tool #>']").prop('target', '_New')
Thanks. I was hoping there was an undocumented way of doing it through the LTI tool config which would be the ideal scenario for my use case.
Unfortunately, we don't have a clear cut way to allow course navigation LTI links to open directly in a new tab. Even for some of our own tools we launch the iframe with a button advising the user to click to open in a new tab which isn't ideal. This is something we have heavily debated internally for a long time and I do see something happening in the future to better enable this, but I can't comment on a timeline or provide further details at this time.
I got it working too by it opening a new tab/window when you navigate to our bespoke external tool, however it just opens a new Canvas session in the new tab where the tool is still showing in the iframe. I don't want the external tool to show in the iframe. Is there a way this can be done? Thank you.
I got it working in the following way..
I created a new page Canvas landing page shown in the canvas iframe with a button that redirects to my external tool 'home' page
which has the following html element..
<base target="_blank" />
Retrieving data ...