请教,如何用js真正清空一个网页的所有内容(不仅是dom)

你说的有道理,可以直接跳到另一个页面,在新页面可以保留原页面的标题,页面小图标icon,url等方便找到。把注入的js改成了这样

  var icon=encodeURI($("link[rel=icon]").attr("href"));
  var title=$("title").text();
  var url="http://localhost/htm-ready.php?icon="+icon+"&title="+title;
  window.location.href=url+"&url="+encodeURI(window.location.href);

这个htm-ready.php页面也非常简单,我也一并发出来

<?php
echo "<html><head><title>".@$_GET["title"]."</title>";
echo '<link rel="icon" href="'.@$_GET["icon"].'"/></head><body>';
echo "<h1>按space重载</h1><h2>".@$_GET["url"]."</h2></body></html>";
?>
<script src="/jquery3.6.js"></script>
<script>
  $("body").keyup(function(e){
    e=window.event||e;
    if(e.which==32){
      window.location.href=$("h2").text();
    }
  });
</script>

产生的问题是在新页面不能按f5刷新,但本来也是空页面,我可以设成按 space 就跳回原页面,更加好按。

这样保留了原网页的部分内容,又清理得干干净净

up:我上面的代码又犯了直接把url打印出来的 严重错误 ,大家一定要小心

1 个赞