0

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

我尝试了以下建议Set title in the window popup但这似乎不适用于 PDF。

有没有办法解决这个问题?

4

4 回答 4

1

您无法以这种方式隐藏 URL,但您可以创建一个包含自定义内容的弹出窗口并将 PDF 文件嵌入其中,而不是直接链接到 PDF 文件。

喜欢:

<html>
<head>
<title>This is your title</title>
</head>
<body>
<iframe src="your_pdf_file_link"></iframe>
</body>
</html>

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

于 2012-06-21T09:44:11.020 回答
0

改用window.open onclick 的超链接。在 window.open 中传递您的 pdf 的 url。这样你就可以通过设置它的标题、大小等来控制窗口

于 2012-06-21T09:43:58.683 回答
0

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

于 2012-06-21T09:44:32.153 回答
0

感谢 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
    }
} 

于 2012-06-21T10:04:02.083 回答