我正在尝试使链接在PHP中作为新窗口打开,我尝试了以下操作和一些变体,但是由于某些原因,链接在javascript:void(window.open(
中停止了
任何想法? '""'
可能有问题吗?
$html .= '<a class="ficha_partido_popup" href="javascript:void(window.open("/servicios/deporte/partidos/fichapartido_'.$filaPartido["partidocod"].'.html"))" rel="nofollow" title="Ver Ficha del partido"><img src="/imagenes/ficha.png" alt="Ver la ficha del partido" /></a>';
答案 0 :(得分:1)
您需要转义双引号:
$html .= '<a class="ficha_partido_popup" href="javascript:void(window.open(\"/servicios/deporte/partidos/fichapartido_'.$filaPartido["partidocod"].'.html\"))" rel="nofollow" title="Ver Ficha del partido"><img src="/imagenes/ficha.png" alt="Ver la ficha del partido" /></a>';
答案 1 :(得分:1)
'
(单引号)在PHP中创建字符串。"
(双引号)在Javascript中创建字符串。现在,您说的是href="...window.open("...")"
。问题是您正在尝试将"
嵌套在"
内,而这一切都会中断。因此,window.open中的第一个双引号最终是href的结束双引号,而字符串的其余部分在javascript中变得无效。
要解决此问题,您可以将嵌套的双引号替换为单引号并说href="...window.open('...')"
,但您不能这样做,因为如果您在此处使用单引号,您将最终破坏PHP中的内容,因为重新使用单引号在PHP中形成字符串。
因此,请使用单引号,但将其转义,就像这样-
href="...window.open(\'...\')"
因此,您的代码现在将变为-
$html .= '<a class="ficha_partido_popup" href="javascript:void(window.open(\'/servicios/deporte/partidos/fichapartido_'.$filaPartido["partidocod"].'.html\'))" rel="nofollow" title="Ver Ficha del partido"><img src="/imagenes/ficha.png" alt="Ver la ficha del partido" /></a>';
答案 2 :(得分:0)
为简单起见,将其分为两行
$window_link = 'window.open("/file_path/filename_'.$filaPartido["partidocod"].'.html")';
$html .= '<a href="javascript:void( ' . $window_link . ' )" >Any link</a>';
OR
$link = $filaPartido["partidocod"];
$html .= <<<HTML
<a href="javascript:void( window.open('/file_path/filename_{$link}.html') )" >Any link</a>
HTML;