javascript - 通过 AJAX 在 JavaScript 中“手动”刷新页面
问题描述
我想使用 JavaScript 模拟页面更改(例如用户单击链接)。这意味着我通过 AJAX 加载新页面的源代码,然后手动替换 DOM 中的内容。像这样的东西:
$.get(linkTarget, function(html) {
var bodyHtml = /<body.*?>([\s\S]*)<\/body>/.exec(html)[1];
if (bodyHtml) {
$('body > *:not(.thingsToKeep)').remove();
$("body").prepend(bodyHtml);
}
});
但是,当页面上有很多 JavaScript 时,问题就会出现,这些 JavaScript 基本上会在已经声明的变量和常量的情况下在其自身之上执行一次。如果天真地完成,可以肯定这会破坏许多脚本。
整个练习的重点是能够在重新加载其他所有内容的同时保持现有页面的某些内容运行(例如,正在播放的视频)。
所以问题是,这个想法(“手动”重新加载页面)是“已知科学”吗?有这样的图书馆吗?
解决方案
推荐阅读
- javascript - 尝试进行异步 Api 请求将响应数据保存为对象的一部分
- python - python3控制台和python3程序代码中的差异命令
- 64-bit - 使用呼叫门进行振铃转换
- android - Android:在 Firebase ValueEventListener 中时,AlertDialog 未更新消息
- kubernetes - K8s 调度 DaemonSets
- python - 我应该如何注释在 Python 中返回 ctypes 数组的函数?
- java - 在序列化 POJO 时加密选定的属性
- java - 打印包含 8 个元素的数组的 3 个或 4 个元素
- swift - CAGradientLayer 旋转到 Landscape 后只占一半屏幕
- node.js - 如何更新消息以在 Telegram 中显示场地?