Заменив <Frameset>на <Object>, можно ли динамически изменить один из URL-адресов объектов, не перезагружая всю страницу? - PullRequest
0 голосов
/ 09 января 2020

Я заменяю классический c asp веб-сайт кодом asp. net, c#. Требуется соответствие HTML5, поэтому я заменил существующую страницу Frameset аналогичной страницей, используя атрибут данных объекта HTML. Есть 4 URL, которые составляют эту страницу. Используя Frameset, вы можете обновить один из URL-адресов, не обновляя всю страницу, используя target = "parent.name of frame". 3 кадра будут неизменными, в то время как 4-й кадр будет совершенно новым URL. Есть ли аналогичный способ обновить URL на странице объекта? Если нет, есть ли альтернатива Framesets и Iframes, совместимая с HTML5 и позволяющая вам динамически обновляться?

<div id="header" class="header">
<object data="https://localhost:44365/HEADER.aspx" type="text/html" width="100%" height="100%">   </object>
</div>
<div id="main" class="row">
<div id="column2" class="column left">
    <div id="left_top" class="left_top">
        <object data="https://localhost:44365/MainMenu.aspx" type="text/html" width="100%" height="100%"></object>
    </div>
    <div id="left_bottom" class="left_bottom">
        <object data="https://localhost:44365/RevTable.aspx" type="text/html" width="100%" height="100%"></object>
    </div>
</div>
<div id="column1" class="column right">
    <object data="https://localhost:44365/MAIN.aspx" type="text/html" width="100%" height="100%"></object>
</div>
</div>

1 Ответ

0 голосов
/ 12 января 2020

Извините, я набираю это на макушке и не пробовал код. Но вы должны иметь возможность загружать контент, используя jQuery Ajax. Это будет основа этого. Как и где вы хотите создать сценарий для вызова и какие переменные нужно будет изменить в соответствии с вашими потребностями.

<script>
function getContent(url, target){
    $.ajax({
        type: "POST",
        url: url,
        success: function(response) {
            $(target).html(response);
        }
    });
}
</script>

<div onClick="getContent('https://localhost:44365/HEADER.aspx','#header')">Click me to load header.</div>
<div onClick="getContent('https://localhost:44365/NEWURL.aspx','#left_bottom')">Click me to load the left bottom div with a new URL.</div>
...