如何检查浏览器中的url是不是已被iframe更改
Posted
技术标签:
【中文标题】如何检查浏览器中的url是不是已被iframe更改【英文标题】:How to check if url in browser has changed by iframe如何检查浏览器中的url是否已被iframe更改 【发布时间】:2020-07-27 14:32:27 【问题描述】:我有一个 iframe(托管在其他地方),点击 iframe 内的按钮后,它会在浏览器中更改我的网址。
在浏览器中,网址将从https://www.siteurl.com/#/login 变为https://www.siteurl.com/#/account
我试过了:
if (window.location.toString().includes("account"))
alert("url contains account");
但这只有在您直接访问https://www.siteurl.com/#/account 时才有效。
然后我想到了.on("load")函数
$(function()
$(window).on("load", function()
if (window.location.toString().includes("account"))
alert("url contains account");
);
);
但这根本不起作用。 由于跨域,访问 iframe 也很痛苦。我无法控制 iframe(CSS 除外),所以这可能是一个死胡同。
【问题讨论】:
【参考方案1】:如果你想要的只是 iframe 显示的当前 URL,那么这应该允许你访问它:
document.getElementById('ID_of_your_iframe').contentWindow.location.href
浏览器的当前URL原则上可以在
下访问window.location.href
如果这些都不起作用,您可能需要跳出 iFrame - 参见例如link
【讨论】:
改变的不是 iframe SRC。它是浏览器本身的 URL。 iframe 中#document 的内容确实发生了变化 无论我做什么,它都不会检查 url 是否更改。也试过这个if (window.location.href.indexOf("account") != -1)
它只有在你直接访问siteurl.com/#/account 时才有效以上是关于如何检查浏览器中的url是不是已被iframe更改的主要内容,如果未能解决你的问题,请参考以下文章
如何检查您的网站是不是已在 iframe 中加载并获取父 URL? [复制]
检测 iframe 内 SPA(单页应用程序)的 URL 更改
MVC 3.0错误 HTTP 404您正在查找的资源(或者它的一个依赖项)可能已被移除,或其名称已更改,或暂时不可用。请检查以下 URL 并确保其拼写正确。