对于网站,当窗口外部宽度低于768px时,我使用javascript对内部HTML进行大量修改。我改变div id,移动ul元素,使用Ajax注入HTML,以及许多其他突变。
我知道这不是最佳做法,应先移动,但现在为时已晚。
我的问题。当窗口调整大小超过768px时,有机会神奇地恢复我的内部HTML吗?这样我可以让网站感觉真的很敏感吗?无需刷新页面(某些页面内容以动态方式生成)。
到目前为止尝试了这个:
将内部HTML保存到会话存储sessionStorage['thispage'] = document.querySelector('html').innerHTML;
,然后在窗口大于768px document.querySelector('html').innerHTML = sessionStorage['thispage'];
时将其恢复 - 目前为止效果最佳,但仍然不一致。
使用Ajax
将整个原始内部HTML加载到文档中$(document).ready(function(){
$。AJAX({ 类型:“后”, 数据:{}, 网址:document.url, 数据类型: 'HTML', 成功:功能(响应){ $( '主体')的HTML(响应); } });
});
不太好,相当于刷新。
还有其他想法吗?我是否真的必须对javascript代码进行反向工程,以便为更改添加“撤消”?
答案 0 :(得分:1)
如果你坚持这个(这太可怕了),为什么不给每个html'版本'一个容器,比如div,并根据大小显示/隐藏?您可以维护一个变量,指示是否已加载异步加载的内容,因此您只需显示它而不是重新加载。
最好的办法当然是重做。