我编写了一个脚本,允许客户登录,并以PDF格式下载合同。
我们希望合约PDF能够在弹出窗口中打开,但是对于不了解网络浏览器基础知识的客户来说却遇到了问题......
基本上,客户登录并为其合同生成链接。该链接通过jQuery的实时事件处理程序绑定,该处理程序接收请求,将其发送到AJAX日志记录功能,然后通过window.open打开PDF。
由于用户的操作打开了窗口,我只能认为因为它首先通过其他2个函数,所以它会弹出阻止器。
有没有人有更好的想法?
我的代码遍布整个地方,在不同的名称空间中,所以我希望你们能搞清楚:
如果客户的凭据正确无误,则在回拨函数中生成链接:
$("#pdfLinks").prepend("<span><a href='#' id='pdfLink'><img src='img/btnDownloadPdf.png' alt='Downdload PDF' /><br>Download Adobe © PDF<\/a><\/span>");
$("#pdfLink").live('click', function() {
UI.showWorkingDialog();
net.tssol.contract.log(contractId['contract'], "DOWNLOAD_PDF", lead);
});
$("#pdfLinks").prepend("<h5>Adobe PDF<\/h5>");
tssol.log函数:
log: function(contract, method, lead) {
$.post("log.php", { lead: lead,
method: method},
function(log) {
if (log['success'] == true) {
if (method == "DOWNLOAD_PDF") {
// change to window.open for popup
window.open("http://oururl.net/public_html/viewPdf.php?verify=" + contract, '', 'scrollbars=1,menubar=0,height=600,width=800,resizable=1,toolbar=0,location=0,status=0');
如果您认为有任何方法可以改善用户体验,请告诉我。
由于
答案 0 :(得分:2)
也许您可以在弹出窗口中提供合约的HTML版本,并在弹出内容的底部添加“下载PDF”按钮?
但总的来说,你不应该使用弹出窗口,因为它们经常被网络浏览器阻止,并且在用户头上与垃圾和伟哥广告同步......你知道我的意思;)
我会在网站内部使用HTML-Contract进行类似jQuery Lightbox的弹出窗口,并可选择提供PDF下载按钮! 看看这个:http://fancybox.net/