如何在父窗口中从弹出窗口打开 URL
2019-04-16
1133
我正在使用一个 drupal 模块,该模块允许我在弹出窗口中显示一些 html 代码,当然我也可以包含 javascript。要了解我所说的弹出窗口类型,只需访问模块页面 此处
该脚本允许我在倒计时结束后将用户重定向到外部 URL 地址 example.com
只有一个小问题:
example.com 显示在弹出窗口本身内,我希望它在当前浏览器选项卡中打开。
我尝试用
window.open
替换
window.location
,但这样根本不显示 example.com。但是在 Chrome DevTools JavaScript 控制台中我看不到任何消息。
使用
window.location.href
页面仍然在弹出窗口内打开
使用
window.opener.location
example.com 根本不显示。这是控制台中的错误:
Uncaught TypeError: Cannot set property 'location' of null
at countdown (splashify-splash:13)
at <anonymous>:1:1
这是 HTML 代码:
<!-- Modify this according to your requirement -->
<h3>
Redirecting to example.com after <span id="countdown">10</span> seconds
</h3>
<!-- JavaScript part -->
<script type="text/javascript">
// Total seconds to wait
var seconds = 10;
function countdown() {
seconds = seconds - 1;
if (seconds < 0) {
// Chnage your redirection link here
window.location = "https://example.com";
} else {
// Update remaining seconds
document.getElementById("countdown").innerHTML = seconds;
// Count down using javascript
window.setTimeout("countdown()", 1000);
}
}
// Run countdown function
countdown();
</script>
2个回答
此模态组件似乎在 iframe 内显示内容,因此要跳出该 iframe 的父级或顶部窗口实例:
parent.location.href = ...
或
top.location.href = ...
parent
指的是 iframe 正上方的窗口实例,
top
始终是最外层的窗口实例。如果您只有一个“级别”的 iframe,则两者都将引用同一对象,如果是嵌套框架,则情况会有所不同。
04FS
2019-04-17
尝试使用 window.opener.location="example.com";
这将在父窗口中打开 URL。
Dinesh Reddy Kancharla
2019-04-16