Я использую следующий код Javascript для URL-адреса обратной ссылки (браузера):
<script type = "text/javascript">
history.pushState(null, null, '<?php echo $_SERVER["REQUEST_URI"]; ?>');
window.addEventListener('popstate', function(event)
{
window.location.assign("https://backlink.com");
});
</script>
И я хотел бы поместить это внутрь:
<?php
if ( strpos( $source, 'abc' ) !== false ) {
Javascript code should go here
}
?>
Я пробовал это по-разному, но всегда получал синтаксическую ошибку. Кто-нибудь может помочь?
Спасибо
в качестве примечания: смешивать PHP + JS - плохая идея - они выполняются по-разному и, следовательно, это может привести к неожиданному поведению. Гораздо лучше (в данном случае) использовать DOM для создания элемента, если strpos !== false. Если этот скрипт запускается на сервере и не используется для создания страницы, то лучше использовать AJAX
Какие способы точный вы пробовали? Пожалуйста, поделитесь попытками и сообщениями об ошибках
Что получил синтаксическую ошибку? PHP или js?
Вы хотите, чтобы значение <?php echo $_SERVER["REQUEST_URI"]; было помещено в историю?



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


Как отмечалось в комментариях, делать что-то подобное обычно считается плохой идеей, но это должно выполнить то, что вы пытаетесь сделать.
if ( strpos( $source, 'abc' ) !== false ) {
echo '<script type = "text/javascript">
history.pushState(null, null, "' . $_SERVER["REQUEST_URI"] . '"
window.addEventListener("popstate", function(event)
{
window.location.assign("https://backlink.com");
});
</script>}';
}
Хотя чем это лучше?
В чем проблема ? просто сделай
<?php if ( strpos( $source, 'abc' ) !== false ) { ?><script type = "text/javascript"> history.pushState(null, null, '<?php echo $_SERVER["REQUEST_URI"]; ?>'); window.addEventListener('popstate', function(event) { window.location.assign("https://backlink.com"); }); </script><?php } ?>