Как сделать объект js и динамически сохранить его на странице - PullRequest
0 голосов
/ 24 марта 2020

Иметь игру, которая создает случайный игровой объект при каждом запуске. Я хочу сохранить копию этой случайно сгенерированной игры по уникальному URL, чтобы в одном поколении игр могли играть более одного человека, перейдя по сгенерированному URL.

Проблема: Невозможно получить игровой объект js для сохранения и отправки на только что созданную уникальную веб-страницу

Цель: Код, который сможет взять только что созданный объект js и сохранить его на уникальной странице.

Что я пробовал: Я пробовал скопировать элемент dom, в который заполняется игра, и затем сохранить его в переменной, а затем отправить эту переменную в php и создать новую страницу php с игрой js. Это не сработало. также я попытался скопировать эхо элемента dom с игрой в него на новую страницу, но я продолжаю в конечном итоге всю страницу, включая часть javascript страницы, которая создает новую игру. Это приводит к тому, что сгенерированные страницы воссоздают новую игру каждый раз, когда они обновляются, потому что они содержат один и тот же код создания новой игры, который находится вверху этого файла, поскольку вся эта страница дублируется при создании новой страницы. Чтобы исправить это, я попытался удалить createGame () js вверху сгенерированных страниц, чтобы они не создавали новую игру при каждом обновлении. Это также не сработало, потому что код не удаляет строки за раз, а вместо этого, кажется, удаляет символы один за другим, но, похоже, имеет эффект.

Пожалуйста, помогите решить эту проблему. Я немного новичок в этом, но я определенно даю этому шанс и работаю над этим часами. Спасибо.

Код:

<script>
     function createGame(){
        if( !document.getElementById) { return; }



        if (game1 == null){
            var game1 = new Game('newgame1', document.getElementById('putgamehere') );
        }
    //  var game1;
        game1.ImagePack('mainset',[['set1', 'Back Set 1']], '.png',25,36,"Main set");
        game1.ImagePack('cardset/h96/',[['bluepattern','Blue pattern'],['blue','pink'],['x','Red X']],'.gif',71,96,'oyc');


        //


        game1.startGame();

        //return game1;
}
</script>

</html>
    <head>
        <title> </title>

        <link rel="stylesheet" type="text/css" href="index.css"/>

        <link rel="stylesheet" type="text/css" href="bootstrap/css/bootstrap.min.css"/>
        <link rel="stylesheet" type="text/js" href="bootstrap/js/bootstrap.min.js"/>

        <!--game files-->
        <script src="cgame.js" type="text/javascript"></script>
        <script src="cs.js" type="text/javascript"></script>


    </head>

    <body>

        <!--Add Page Header-->
        <?php require "header.php" ?>
        <?php //eader "creategame.php"?>
        <div >

            <!--<div id="putgamehere">

            </div>-->

            <div id="putgamehere1">

            </div>





            <?php

                //$content = ob_get_contents();
                //$content = <script>;
                //global $content;

                $content = '
                    echo "<div><div class="game" id="putgamehere">

                    </div>"
                    $jsgamecontent = document.getElementByClass("game");
                    ;
                ';

                echo $content;


                //echo '<div id="putgamehere">

                //</div>';
            ?>

            <script>

                //Create new game
                createGame();

                //var content = document.getElementById("putgamehere1");


            </script>

            <?php


                //make new page url
                $newpageurl = "page1534";

                //make new page page 
                $newpage = fopen($newpageurl . ".php", "x");

                //create start game code variable
                //$startgame = "<div id='putgamehere'></div>";
                //$startgame = "<div id='putgamehere'></div>";
                //$startgame = $startgame . "<script>game1.startGame();</script>";
                //$startgame = "<script>game1.startGame();</script>";

                //$content = $content . $startgame; 
                //add game to new page
                $newgame = fwrite($newpage, $content);


                //Remove create game code from top of new created page

                //lines to replace with space 
                //$char = 0;
                //$content = file_get_contents("page152.php");
        /*      while($char < 100){

                    $content = str_replace(0, '', $content);
                    file_put_contents("page151.php", $content);

                    $char+=1;
                }*/
            ?>      

            </div>
    </body>
</html>

Образец сгенерированного кода:

            echo "<div><div id="putgamehere">

            </div>";
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...