Javascript 当URL指向PDF文件时,如何在弹出窗口中设置标题?

Javascript 当URL指向PDF文件时,如何在弹出窗口中设置标题?,javascript,popup,Javascript,Popup,在javascript中,我创建一个指向PDF的URL并打开一个新窗口。窗口标题包含我想对用户隐藏的URL 我尝试了以下建议,但这似乎不适用于PDF 有办法解决这个问题吗?用单击超链接代替。在window.open中传递pdf的url。通过这种方式,您可以通过设置标题、大小等来控制窗口。您不能通过这种方式隐藏URL,但您可以创建一个带有自定义内容的弹出窗口,并将PDF文件嵌入其中,而不是直接链接到PDF文件 比如: 这是你的头衔 但是如果客户端没有PDF插件,他们将始终收到一个“另存为”对话

在javascript中,我创建一个指向PDF的URL并打开一个新窗口。窗口标题包含我想对用户隐藏的URL

我尝试了以下建议,但这似乎不适用于PDF


有办法解决这个问题吗?

用单击超链接代替。在window.open中传递pdf的url。通过这种方式,您可以通过设置标题、大小等来控制窗口。您不能通过这种方式隐藏URL,但您可以创建一个带有自定义内容的弹出窗口,并将PDF文件嵌入其中,而不是直接链接到PDF文件

比如:


这是你的头衔

但是如果客户端没有PDF插件,他们将始终收到一个“另存为”对话框。

也许新窗口可以是HTML页面,您可以在iframe中显示PDF?将您需要的所有信息以查询字符串的形式传递到新窗口。

感谢iframe提示。这就是我的工作原理:

<script type="text/javascript">
var birtwin = null;
var birturl = null;
function birt(report, params) {
    var url = "http://myserver/webapps/birt/run?__report=Report/" + report + "&__lc=<%= user.getLocale() %>&__format=pdf&__runtime=<%= LoginServlet.isTest() ? "test" : "prod"%>&";
    var chk = document.getElementById('chkPageBreak');
    if(chk && chk.checked) url += "PageBreak=true&";
    if(params) {
        params = params.replace('%MMSFAIRID%', '<%= user.getFair().getFairId() %>');
        params = params.replace('%LANGUAGE%', '<%= user.getLocale().getLanguage() %>');
    }
    url += params;
    birturl = url;
    birtwin = window.open('','MMSBIRT', 'menubar=0,location=0,toolbar=0,resizable=1,status=1,scrollbars=1');
    checkbirt(); // start checking
}

function checkbirt() {     
    if(birtwin.document) { 
        birtwin.document.write('<html><head><title>Bericht / Report</title></head><body height="100%" width="100%"><iframe src="' + birturl + '" height="100%" width="100%"></iframe></body></html>');
    } else { 
        // if not loaded yet
        setTimeout(checkbirt, 10); // check in another 10ms
    }
} 

var-birtwin=null;
var-birtur=null;
功能birt(报告、参数){
变量url=”http://myserver/webapps/birt/run?__report=Report/“+报告+”&&uuuu lc=&&uuuu格式=pdf&&uuuu运行时=&”;
var chk=document.getElementById('chkPageBreak');
如果(chk&&chk.checked)url+=“PageBreak=true&”;
如果(参数){
params=params.replace(“%mmsfirid%”,“”);
params=params.replace(“%LANGUAGE%”,“”);
}
url+=params;
birtur=url;
birtwin=window.open(“”,'MMSBIRT','menubar=0,location=0,toolbar=0,resizeable=1,status=1,scrollbars=1');
checkbirt();//开始检查
}
函数checkbirt(){
if(birtwin.document){
birtwin.document.write('Bericht/Report');
}否则{
//如果还没有加载
setTimeout(checkbirt,10);//再检查10毫秒
}
} 

<script type="text/javascript">
var birtwin = null;
var birturl = null;
function birt(report, params) {
    var url = "http://myserver/webapps/birt/run?__report=Report/" + report + "&__lc=<%= user.getLocale() %>&__format=pdf&__runtime=<%= LoginServlet.isTest() ? "test" : "prod"%>&";
    var chk = document.getElementById('chkPageBreak');
    if(chk && chk.checked) url += "PageBreak=true&";
    if(params) {
        params = params.replace('%MMSFAIRID%', '<%= user.getFair().getFairId() %>');
        params = params.replace('%LANGUAGE%', '<%= user.getLocale().getLanguage() %>');
    }
    url += params;
    birturl = url;
    birtwin = window.open('','MMSBIRT', 'menubar=0,location=0,toolbar=0,resizable=1,status=1,scrollbars=1');
    checkbirt(); // start checking
}

function checkbirt() {     
    if(birtwin.document) { 
        birtwin.document.write('<html><head><title>Bericht / Report</title></head><body height="100%" width="100%"><iframe src="' + birturl + '" height="100%" width="100%"></iframe></body></html>');
    } else { 
        // if not loaded yet
        setTimeout(checkbirt, 10); // check in another 10ms
    }
}