我正在托管一个网站,该网站是在Blazor中作为iframe在多个网站上创建的。现在我想知道iframe中托管网站的url。
实际上,我希望这张图片中的黄色网址完全相同。
在图片中,我使用了NavigationManager.Uri
,但这张图片给了我iframe的url,而不是托管网站的url。
我也试着调用window.parent.location.href
,但后来我得到了异常:
Microsoft.JSInterop.JSException: Blocked a frame with origin "https://localhost:44304" from accessing a cross-origin frame.
如何使用Blazor获取此url?
实现这一点的一般方法是JS,正如您所尝试的那样。你得到这个异常的事实表明这两个来源(主浏览器和你的iframe-d应用程序(在不同的域上,所以浏览器永远不会允许你这样做——这是一个安全功能,可以防止恶意iframe劫持浏览器。