Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/77.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 弹出问题…不确定这是否是最好的方法_Javascript_Jquery_Popup - Fatal编程技术网

Javascript 弹出问题…不确定这是否是最好的方法

Javascript 弹出问题…不确定这是否是最好的方法,javascript,jquery,popup,Javascript,Jquery,Popup,我编写了一个脚本,允许客户登录并下载PDF格式的合同 我们希望合同PDF在弹出窗口中打开,但是遇到了一些客户的问题,他们不了解web浏览器的基本知识 基本上,客户登录并为其合同生成链接。链接通过jQuery的live事件处理程序绑定,该处理程序接收请求,将其发送到AJAX日志函数,然后通过window.open打开PDF 由于是用户的动作打开了窗口,我只能认为,因为它首先通过了另外两个功能,它正在使弹出窗口拦截器生效 有谁有更好的主意吗 我的代码到处都是,在不同的名称空间中,所以我希望你们都能弄

我编写了一个脚本,允许客户登录并下载PDF格式的合同

我们希望合同PDF在弹出窗口中打开,但是遇到了一些客户的问题,他们不了解web浏览器的基本知识

基本上,客户登录并为其合同生成链接。链接通过jQuery的live事件处理程序绑定,该处理程序接收请求,将其发送到AJAX日志函数,然后通过window.open打开PDF

由于是用户的动作打开了窗口,我只能认为,因为它首先通过了另外两个功能,它正在使弹出窗口拦截器生效

有谁有更好的主意吗

我的代码到处都是,在不同的名称空间中,所以我希望你们都能弄明白:

如果客户的凭据正确,则在回调函数中生成链接:

$("#pdfLinks").prepend("<span><a href='#' id='pdfLink'><img src='img/btnDownloadPdf.png' alt='Downdload PDF' /><br>Download Adobe &copy; PDF<\/a><\/span>");
                                        $("#pdfLink").live('click', function() {
                                                UI.showWorkingDialog();
                                                net.tssol.contract.log(contractId['contract'], "DOWNLOAD_PDF", lead);
                                        });
                                        $("#pdfLinks").prepend("<h5>Adobe PDF<\/h5>");
如果你们想办法让用户体验更好,请告诉我


谢谢

也许您可以在弹出窗口中提供合同的HTML版本,并在弹出窗口内容底部添加“下载PDF”按钮

但一般来说,你不应该使用弹出窗口,因为它们经常被网络浏览器屏蔽,并且是与垃圾和伟哥广告同步的用户。。你知道我的意思;)

我会用HTML合同在网站内弹出一个类似jQuery Lightbox的弹出窗口,还可以选择提供一个PDF下载按钮!
看看这个:

弹出窗口被阻止。这绝不是用户的错。您正在使用Javascript以编程方式生成一个新窗口,这不是他们直接操作的结果。您是否可以尝试在HTML本身中将链接的target属性设置为_blank,并使用Javascript重写HREF?这样,用户的操作将打开一个新窗口,不同之处在于您指示了位置。抱歉,请澄清。。打开一个空白窗口,记录日志,然后在日志函数成功时重定向打开的窗口?类似的。窗口(希望)已经这样打开了。只是一个建议,这就是为什么我没有把它作为答案发布的原因:\Cool,good idea。。我看看能想出什么办法。谢谢另一种选择是编写一个函数,测试弹出窗口拦截器是否正在阻止它,如果不创建指向另一个页面的链接,而该页面不会在新窗口中打开…这不是很优雅,听起来像是做了很多工作。。。当我登录我的银行和手机网站时,我在弹出窗口中打开账单PDF没有任何问题…但这也可能是因为我允许了,而且不记得了…是的,看起来真的很好…有很多返工…但我是每小时一次的,所以谁在乎。。。但就像我上面的评论一样,我一直在关注我的手机和银行的总裁……@guyfromfl从什么时候开始有人喜欢银行界面了?
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');