将Flash成功消息发送到父选项卡

时间:2017-07-05 20:07:37

标签: javascript jquery twitter-bootstrap symfony

我正在尝试触发父窗口的刷新,并在该窗口中显示Flash成功消息。

为了澄清,用户在管理页面上工作,然后管理页面打开另一个带有文章的选项卡。我目前已将其设置为提交并关闭,然后重新加载原始页面(通过window.opener.location.reload();

我可以在当前页面上生成Flash成功消息,但当然,这没有用,因为该页面会在提交时立即关闭。

是否可以使用类似下面的过程在原始标签/窗口中显示?

function refreshParent() {
    window.opener.location.reload();
    window.opener.location.$('header > .alerts').append( $('<div>Article sent to editor.</div>').addClass('alert alert-success'));
}

原始窗口的树枝上当前有一个空的<header></header>标记。我不确定我的语法是否正确。

1 个答案:

答案 0 :(得分:2)

你可以做点什么

soup = BeautifulSoup(page, 'lxml')

在子窗口中  1.将#showAlert哈希添加到window.opener的URL中  2.要求window.opener刷新(使用URL中的新哈希)从服务器

中检索新数据

在父窗口中,始终为警报框准备好HTML,但使用css隐藏它

<script>
    window.onunload = refreshParent;triggerAlertOnParent;
    function refreshParenttriggerAlertOnParent() {
        window.opener.location.hash = "showAlert";
        window.opener.location.reload();
    }
</script>

CSS:

<div class="alert alert-success is-hidden">Article sent to editor.</div>

当您的父页面加载时,在您的javascript代码中,查看URL中是否存在设置为“showAlert”的哈希值,如果是,请删除is-hidden类,以便显示警告框。

.is-hidden {
    display: none;
}