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