javascript — window.open не работает парсинг URL усечен

Я пытаюсь получить ссылку, чтобы открыть как новое окно в 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

Решение

Чтобы сделать это просто, разделите его на 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;
0

Другие решения

Вам нужно избежать двойных кавычек:

$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

  • Вы используете ' (одинарная кавычка) для создания строки в 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>';
1
По вопросам рекламы [email protected]