Открытие страницы показа в модальном режиме с обновлением URL-адреса в адресной строке с использованием HTML и JS

Я хочу получить идентификатор нажатия кнопки в адресной строке, чтобы получить данные из базы данных, как это сделал Instagram. Я хочу получить идентификатор из адресной строки, используя php, чтобы найти конкретные данные из базы данных в соответствии с идентификатором выбранной ссылки.

Примечание Изображение ниже предоставлено @designer из сообщения Вопрос Stackoverflow. введите здесь описание изображения

Мой снайпер кода:

<script src="https://code.jquery.com/jquery-1.11.1.min.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.0/js/bootstrap.min.js"></script>
<link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.0/css/bootstrap.min.css" rel="stylesheet"/>


<a    class="btn btn-primary btnModal"  data-target ="#scrapModal"  href="washingPlan.php#scrapModal?id=' . $row['id'] . '" data-toggle="modal" >Service Include</a>


<div class="modal fade bd-example-modal-lg" id="scrapModal" tabindex="-1" role="dialog" aria-labelledby="scrapModal" aria-hidden="true">
                <div class="modal-dialog modal-lg">
                    <div class="modal-content">


                        <!-- DataTales Example -->
                        <div class="card shadow mb-4">
                            <div class="card-header py-3">
                                <h6 class="m-0 font-weight-bold text-primary">WASHING PLAN SERVICES</h6>
                            </div>
                            <div class="card-body">
                                <div class="table-responsive">
                                
                                    <table class="table table-bordered" id="dataTable" width="100%" cellspacing="0">
                                    <input type="text" name="id" id="id" />

                                        <thead>
                                            <tr>
                                                <th>S.No.</th>
                                                <th>Washing plan Services</th>
                                                <th>Action</th>

                                            </tr>
                                        </thead>
                                        <tfoot>
                                            <tr>
                                                <th>S.No.</th>
                                                <th>Washing plan Services</th>
                                                <th>Action</th>
                                            </tr>
                                        </tfoot>
                                        <tbody>


                                        


        <tr>
        <th>test</th>
        <th>test1</th>
        <th>test2</th>
    </tr>

                                        
                                            
                                   
                                        </tbody>
                                    </table>
                                </div>
                            </div>
                        </div>
                        <form action="" method="post">

                            <div class="col-lg-8 m-4">
                                <label class="ml-1">Plans Include</label><br>
                                <input type="text" id="plans" name="plans" placeholder="" class="col-12" required>
                            </div>

                            <div class="row m-5">
                                <input type="submit" value="Reset" class="btn" style="background-color: #FF9933;letter-spacing: 0.6px;border-radius: 2px;color: #FFF;">
                                <input type="submit" class="btn" name="includeService" value="Add Value" style="background-color: #0891FF;;letter-spacing: 0.6px;border-radius: 2px;color: #FFF; display: inline-block;vertical-align: middle;">
                            </div>
                        </form>


                    </div>
                </div>
            </div>

Его адрес не изменился, когда я добавил data-target=modal. Есть ли какая-нибудь техника для создания такого модального окна?

заранее спасибо


person Muhammad Addan Sarfraz    schedule 26.07.2020    source источник


Ответы (1)


Я бы сказал, что вы ищете History API, который позволяет вам управлять историей браузера (включая строку URL) с помощью JS.

history.pushState() позволяет вам "добавить" страницу в стек истории, который изменит URL-адрес на то, что вы укажете.

Если вы прослушиваете событие window.onpopstate, вы можете определять, когда пользователь перемещается по истории с помощью элементов управления браузера (например, кнопки «Назад»), прерывать его и обрабатывать самостоятельно, и все это без перезагрузки страницы!

Этого должно быть достаточно для начала, это очень полезный API, которым можно воспользоваться.

person Tom Anderson    schedule 26.07.2020