I donβt know if there is a more convenient way to do this, but you can always intercept BeforeExplorerNavigate2() , set the out-parameter cancel parameter to true and from there either execute a new Navigate() with a different name for the frame or open a new window.
As Rob noted, there may be problems with filtering navigation events originating from scripts, see this question .
source share