刷新 iframe 而不重定向父页面

Refresh iframe without redirecting parent page

本文关键字:重定向 iframe 刷新      更新时间:2023-09-26

我有网站A,我将其嵌入到网站B的iframe中.网站A有一个下拉菜单,可以从中更改网站的语言。

问题:当我从 iframe 内部的下拉菜单更改语言时,整个父窗口重定向到网站 A。我希望刷新 iframe 并更改语言,但不要将父窗口重定向。以下是 iframe 当前嵌入方式的 html:

<iframe  src="xxx" scrolling="no" frameborder="no" align="center" height = "600" width = "940">
</iframe>

我尝试使用 iframe 沙盒属性,结果如下:

sandbox="允许表单允许脚本" - 父页面不会重定向,iframe在单击下拉菜单后显示空白页面

sandbox="allow-forms allow-scripts allow-same-origin" - 同上

sandbox="允许表单允许脚本允许同源允许顶部导航" - 页面重定向为没有沙盒属性

对于前两个,我还从控制台注意到我收到以下消息:

不安全的 JavaScript 尝试从具有 URL "yyy"的框架启动对带有 URL "xxx"的框架的导航。尝试导航顶级窗口的框架已沙盒化,但未设置"允许顶部导航"标志。

这是否表明要解决此问题,我必须更改iframe内部页面上的某些内容,而不是父页面?有什么想法吗?

您是否尝试过在更改选择值时target属性设置为_self

即...页 A:

VARS: <script>document.write(document.location.search)</script><br>
<br>
<form name="f" target="_self">
    <select id="langSelect" name="langSelect" onChange="document.f.submit()">
        <option value="">...please select...</option>
        <option value="en">English</option>
        <option value="es">Spanish</option>
    </select>
</form>

页 B:

This if page B...<br>
<br>
This is iframe A:<br>
<iframe src="A.html"></iframe>