Перенаправить на новую вкладку с помощью CFLocation - CF9
Есть ли способ перенаправить пользователя в новое окно с помощью CFLocation? Насколько я знаю, вы не можете использовать target=_blank
в CFLocation. Есть ли другой способ сделать это?
Это мой код:
<cfif cgi.PATH_INFO eq "/procedure-page.cfm">
<cflocation url="http://www.example.com/example/example.cfm?id=XXXXXX&contactid=#returnStruct.contactID#&doctorid=#officeLocation#" addtoken="no" >
<cfelse>
<cflocation url="http://www.example.com/example/example.cfm?id=#example#&contactid=#returnStruct.contactID#&doctorid=#officeLocation#" addtoken="no" >
</cfif>
3 ответа
Это, вероятно, не самый чистый способ, но он должен работать.
<cfoutput>
<cfif cgi.PATH_INFO eq "/procedure-page.cfm">
<script type="text/javascript">
window.open("http://www.example.com/example/example.cfm?id=XXXXXX&contactid=#returnStruct.contactID#&doctorid=#officeLocation#", '_blank');
</script>
<cfelse>
<script type="text/javascript">
window.open("http://www.example.com/example/example.cfm?id=#example#&contactid=#returnStruct.contactID#&doctorid=#officeLocation#", '_blank');
</script>
</cfif>
</cfoutput>
<cflocation>
выполняет перенаправление на стороне клиента, но инициируется на стороне сервера (он отправляет запрос с перенаправлением в заголовке), поэтому он не может ничего знать о "вкладках", которые есть в браузере. CF не знает ничего о том, что происходит в браузере.
Чтобы делать то, что вы хотите сделать на клиентском сайте, вам нужно сделать что-то в браузере с помощью Javascript.
Я верю, что Адам прав в этом CFLocation
не может попросить браузер открыть в новом окне (или вкладке). Что-то, что может вас заинтересовать, однако, это CFWindow
тег. Смотрите документацию здесь. Обратите внимание, что CFWindow
не открывает новое окно браузера, но создает <div>
смоделировать всплывающее окно. В любом случае, у него есть несколько вариантов, и я подумал, что стоит взглянуть на них. Может быть, он справится с тем, что вам нужно.