在javascript突变后恢复内部HTML

时间:2016-03-18 05:46:34

标签: javascript jquery html ajax

对于网站,当窗口外部宽度低于768px时,我使用javascript对内部HTML进行大量修改。我改变div id,移动ul元素,使用Ajax注入HTML,以及许多其他突变。

我知道这不是最佳做法,应先移动,但现在为时已晚。

我的问题。当窗口调整大小超过768px时,有机会神奇地恢复我的内部HTML吗?这样我可以让网站感觉真的很敏感吗?无需刷新页面(某些页面内容以动态方式生成)。

到目前为止尝试了这个:

  1. 将内部HTML保存到会话存储sessionStorage['thispage'] = document.querySelector('html').innerHTML;,然后在窗口大于768px document.querySelector('html').innerHTML = sessionStorage['thispage'];时将其恢复 - 目前为止效果最佳,但仍然不一致。

  2. 使用Ajax

    将整个原始内部HTML加载到文档中

    $(document).ready(function(){

    $。AJAX({  类型:“后”,  数据:{},  网址:document.url,  数据类型: 'HTML',  成功:功能(响应){    $( '主体')的HTML(响应);  } });

    });

  3. 不太好,相当于刷新。

    还有其他想法吗?我是否真的必须对javascript代码进行反向工程,以便为更改添加“撤消”?

1 个答案:

答案 0 :(得分:1)

如果你坚持这个(这太可怕了),为什么不给每个html'版本'一个容器,比如div,并根据大小显示/隐藏?您可以维护一个变量,指示是否已加载异步加载的内容,因此您只需显示它而不是重新加载。

最好的办法当然是重做。