• Как исполнить javascript внутри php файла, который загружает AJAX?

    @romasimf Автор вопроса
    php программист
    Отвечаю сам на свой вопрос - можно. Но поскольку я не обладаю никакой квалификацией в javascript, мое решение - не очень качественное.

    Что нужно:

    1 - писать в php файле код javascript без тегов <script></script>
    2 - не назначать setRequestHeader
    3 - запрос не асинхронный (false)
    4 - вызвать php файл, который содержит javascript и php через eval

    Неприятные камни:
    1 php функция echo и ей подобные, работает только внутри javascript кода document.write('<?php echo "text"; ?> ');
    2 стили нужно прописать так же, в
    document.write('<?php echo "<style></style>"; ?>');

    3 документ с каждый обновлением, у меня, не заменяет, а добавляет результат - это большой минус, но я думаю над этим можно еще подумать.

    Если камни мешают, можно просто создать 2ую AJAX функцию и в ней будет работать и PHP и JAVASCRIPT, как отдельный сценарий.

    Мой код:

    добавил в index.php

    <script type="text/javascript">
    
    function sound() {
    
    var xhr = new (window.XMLHttpRequest || ActiveXObject)("Msxml2.XMLHTTP");
    xhr.open("POST", "sound.php", false);
    xhr.send(null);
    eval(xhr.responseText); 
    
    }
    setInterval(sound, 100);
    </script>


    sound.php (просто для примера)
    <?php
    $time = microtime(true);
    ?>
    document.write('<?php echo "$time"; ?>');
    Ответ написан
    Комментировать
  • Вызов функции без клика (javascript, аудио)?

    @romasimf Автор вопроса
    php программист
    Очевидно что звук по требованию программы, через Javascript существует. Достаточно запустить игру (что угодно где угодно нажать) и звук будет воспроизводится согласно сценарием программы - когда захочет программа, а не пользователь. На этом сайте ответ на мой вопрос - https://itproger.com/news/104

    Да клик - есть, но это не звук по клику, это разрешение на звук в игре.
    Ответ написан
    Комментировать
  • Почему Echo с php кодом не работает?

    @romasimf
    php программист
    1 ошибка - перед EOT; нельзя ставить отступы, так же как и перед EOD;

    2 ошибка - в конце кода стоит лишние ; нужно убрать

    И третье, require лучше, чем функции, хотя бы потому что работает везде.
    Ответ написан
    Комментировать