window.open 无法解析 URL 已截断
window.open not working parse URL truncated
我正在尝试让 link 在 PHP 中作为新的 window 打开,我尝试了以下方法和一些变体,但由于某种原因 links 停在 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>';
双引号需要转义:
$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>';
- 您正在使用
'
(单引号)在 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行
$window_link = 'window.open("/file_path/filename_'.$filaPartido["partidocod"].'.html")';
$html .= '<a href="javascript:void( ' . $window_link . ' )" >Any link</a>';
或
$link = $filaPartido["partidocod"];
$html .= <<<HTML
<a href="javascript:void( window.open('/file_path/filename_{$link}.html') )" >Any link</a>
HTML;
我正在尝试让 link 在 PHP 中作为新的 window 打开,我尝试了以下方法和一些变体,但由于某种原因 links 停在 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>';
双引号需要转义:
$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>';
- 您正在使用
'
(单引号)在 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行
$window_link = 'window.open("/file_path/filename_'.$filaPartido["partidocod"].'.html")';
$html .= '<a href="javascript:void( ' . $window_link . ' )" >Any link</a>';
或
$link = $filaPartido["partidocod"];
$html .= <<<HTML
<a href="javascript:void( window.open('/file_path/filename_{$link}.html') )" >Any link</a>
HTML;