Javascript代码在运行后自行删除

javascript code remove itself after being run

本文关键字:删除 运行 代码 Javascript      更新时间:2023-09-26

我正在寻找一种方法来填写一个数组表的javascript代码,然后删除该代码不允许用户直接复制表(或至少使它很难)从页面作为HTML。

<script>
   ....
</script>

如何在完成任务后从页面中删除Java脚本?

谢谢

我真的不认为删除JavaScript有什么意义,但这是可能的。为脚本元素指定一个ID,使其更易于选择。然后将处理删除的代码放在单独的脚本元素中。

考虑到你不想删除的代码不是异步的,像这样做:

<script id="foo">
    // Do your stuff here, create the table or whatever necessary
</script>
<script>
(function () {
    var node = document.getElementById("foo");
    if (node.parentNode) {
      node.parentNode.removeChild(node);
    }
})();
</script>

更新:

正如Juhana在注释中指出的那样,这将从DOM中删除script元素,但是如果查看页面的实际源代码,脚本元素仍然是可见的。

您可以删除脚本元素或做任何其他事情,但用户仍然可以通过调试模式获得表。有一些方法可以加密源代码,试试:http://jsobfuscate.com/

也许你可以通过在你的网页中禁用复制和粘贴功能来使它更难:

<script type="text/JavaScript">
function killCopy(e){
return false
}
function reEnable(){
return true
}
document.onselectstart=new Function ("return false")
if (window.sidebar){
document.onmousedown=killCopy
document.onclick=reEnable
}
</script>

见http://www.boogiejack.com/no_copy_paste.html

但是用户仍然可以得到它,因为他们在本地机器上已经有了html的副本

document.currentScript.remove()