首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >更改浏览器窗口标题时拒绝的权限

更改浏览器窗口标题时拒绝的权限
EN

Stack Overflow用户
提问于 2014-11-07 21:37:43
回答 1查看 674关注 0票数 0

我有一个生成PDF的servlet,输出转到一个新的浏览器窗口。我试图使用下面的updateTitle()函数替换这个新窗口的标题。但是,当我试图将报表名称(repName)分配给窗口实例时,IE11会抛出一个“拒绝权限”错误。有什么想法吗?

代码语言:javascript
复制
function showReport(url, repName){

    var repWin = window.open(url);
    updateTitle(repWin, repName)
}

function updateTitle(repWin, repName) {
    setTimeout(function() {
        repWin.document.title = repName; //IE11 console throws PERMISSION DENIED here
    }, 3000);
}
EN

回答 1

Stack Overflow用户

发布于 2014-11-07 21:58:49

您需要使用类似于postMessage的东西。

在你原来的窗户上:

代码语言:javascript
复制
function showReport(url, repName) {
   var repWin = window.open(url);
   repWin.postMessage('setTitle:' + repName, '*');
}

repWin

代码语言:javascript
复制
function updateTitle(message) {
    var m = message.data.split(':'),
        eventType = m[0],
        data = m[1];
    if (message.origin ===  'YOUR_URL_HERE' && eventType === 'setTitle' ) {
         repWin.document.title = data; 
    }
}

window.addEventListener("message", updateTitle, false);

注意:显然,只有当您可以修改打开的窗口的源代码时,才能正常工作。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26810487

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档