在 javascript 中,我创建了一个指向 PDF 的 URL 并打开一个新窗口。窗口标题包含我想对用户隐藏的 URL。
我尝试了以下建议Set title in the window popup但这似乎不适用于 PDF。
有没有办法解决这个问题?
在 javascript 中,我创建了一个指向 PDF 的 URL 并打开一个新窗口。窗口标题包含我想对用户隐藏的 URL。
我尝试了以下建议Set title in the window popup但这似乎不适用于 PDF。
有没有办法解决这个问题?
您无法以这种方式隐藏 URL,但您可以创建一个包含自定义内容的弹出窗口并将 PDF 文件嵌入其中,而不是直接链接到 PDF 文件。
喜欢:
<html>
<head>
<title>This is your title</title>
</head>
<body>
<iframe src="your_pdf_file_link"></iframe>
</body>
</html>
但是如果客户没有 PDF 插件,他们总是会收到一个“另存为”对话框。
改用window.open onclick 的超链接。在 window.open 中传递您的 pdf 的 url。这样你就可以通过设置它的标题、大小等来控制窗口
也许新窗口可以是 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
}
}