用javascript打开一个标签

时间:2014-08-08 07:29:29

标签: javascript jquery html coldfusion

我有一些代码可以运行并向Web服务发出XML请求。然后,此Web服务返回一个URL。我需要将用户带到该网址。

目前网址是在iframe中打开的,这很好。但是,对站点进行了更改,现在需要在新选项卡中打开。我已经看到了一些如何在新标签页中打开网址的JavaScript示例,但所有这些示例都需要onclick个事件。此外,我的JavaScript技能非常有限。是否有任何代码可以用来打开网络服务返回的网址。在新标签页中,无需使用点击事件?

目前这是我在iframe中的代码。我知道必须删除iframe并进行其他更改。我只是想让你了解如何调用web服务等。

<cftry>
    <cfinclude template="webservices/travelit_request.cfm">
    <cfset mynewURL = "#XML_URL#">
    <cfset mynewURL &= "&adref=0">
    <cflocation url="#mynewURL#" addtoken="false">

    <cfcatch type="any"><h1>Your request was cancelled. Please retry.</h1></cfcatch>
</Cftry>

2 个答案:

答案 0 :(得分:0)

<cflocation>执行客户端重定向,但它是在服务器端启动的(它在标头中发送带有重定向的请求),因此它无法了解有关“标签”的任何信息事情。 CF对浏览器中发生的事情一无所知。

要在客户端站点上执行您想要执行的操作,您需要使用Javascript进行浏览器操作。

- 亚当卡梅隆

供您参考。 Redirect to a new tab using CFLocation - CF9

感谢Adam Cameron

答案 1 :(得分:0)

<cfoutput><cftry>
    <cfinclude template="webservices/travelit_request.cfm">
    <cfset mynewURL = "#XML_URL#">
    <cfset mynewURL &= "&adref=0">
    <cfoutput>
    <script language="javascript">
      window.open('#mynewURL#','_blank');
    </script></cfoutput>

    <A href="#mynewURL#" target="_blank">Page didn't open? Click Here.</A>
<cfcatch type="any"><h1>Your request was cancelled. Please retry.</h1></cfcatch>
</Cftry></cfoutput>

这会有效,它会让您离开您所在的页面,并打开一个新页面,如果它没有打开则会提供一个链接。

当然,这实际上应该在文档输出中的适当位置。