代码之家  ›  专栏  ›  技术社区  ›  Tass Times

我可以在CFDOCUMENT页面上显示弹出窗口吗?

  •  0
  • Tass Times  · 技术社区  · 8 年前

    以下是我想在Coldfusion中做的事情:

    在网页上有一个“下载”href链接,我希望在用户单击此链接时打开另一个浏览器选项卡。在新选项卡中,我正在通过Coldfusion中的CFDOCUMENT创建PDF。这本身就是有效的。

    然而,由于PDF在加载到选项卡之前有一个延迟,我想向用户显示一个弹出窗口,PDF加载可能需要一些时间。

    所以我试着做的是这个序列:

    User clicks "Download" -> 
    On the same page, I trapped the link with jquery and displayed a popup 
    window alerting the user there may be a delay ->
    User clicks OK on the popup ->
    Using javascript window.open, redirected to a new browser window for the PDF.
    

    由于使用 window.open 在javascript中,浏览器不信任,并且由于弹出窗口阻止程序,新选项卡不会显示。

    因此,我想在加载PDF之前在新的浏览器选项卡中创建一个弹出窗口,但发现我不能在带有CFDOCUMENT的页面上使用javascript。

    如果可以做点什么的话,你有什么想法可以最好地实现这一点吗?

    1 回复  |  直到 8 年前
        1
  •  0
  •   Community Mohan Dere    7 年前

    我想 iframe 可能是你的朋友。它允许您在pdf页面中显示另一个文档。

    使用注释中的示例,我创建了两个文件:一个用于显示提示消息,另一个用于显示PDF。


    cf提示。cfm公司

    <body>
    <div> this is a test </div>
    </body>
    <cfflush> 
    <iframe src="pdf.cfm" >
    </iframe>
    

    pdf。cfm公司

    <cfdocument format="pdf">
        <h1>Hello ColdFusion</h1>
        <p>This is <strong>PDF</strong> example document.</p>
        <p>Genereated at: <cfoutput>#TimeFormat(Now())# on #DateFormat(Now())#</cfoutput></p>
    </cfdocument>
    

    您仍然需要处理iframe的格式/大小,以便它能够正确显示,但希望这允许您显示PDF。

    推荐文章