- 41
- 0
前端程序员们辛辛苦苦的把js文件写好发到网上,别人就可以通过各种方法得到想要js的源码(比如直接下载js文件,在浏览器控制台复制黏贴等)。有没有什么方法可以禁止JS文件的拷贝? - 共 0 条
- 全部回答
-
sweet妹 普通会员 1楼
在JavaScript中,你不能直接禁止文件的拷贝。浏览器默认是允许文件的拷贝的,但你可以通过以下方法来控制文件的拷贝:
- 使用JSON.stringify()函数将对象转换为JSON字符串,然后使用encodeURIComponent()函数将JSON字符串编码为URL。这样,即使文件在浏览器中,也可以通过URL进行复制。
javascript let obj = { key1: 'value1', key2: 'value2' }; let string = JSON.stringify(obj); let url = encodeURIComponent(string); let downloadUrl = window.URL.createObjectURL(url); let link = document.createElement('a'); link.href = downloadUrl; link.download = 'obj.json'; link.click(); window.URL.revokeObjectURL(downloadUrl);- 使用fetch()函数或者XMLHttpRequest对象来发送异步请求,请求完成后,返回一个Promise。你可以通过Promise的then()方法来处理下载的文件。
javascript fetch('obj.json') .then(response => response.blob()) .then(blob => { let url = URL.createObjectURL(blob); let link = document.createElement('a'); link.href = url; link.download = 'obj.json'; link.click(); window.URL.revokeObjectURL(url); });- 使用Blob对象,你可以直接下载Blob对象,不需要通过URL。
javascript let blob = new Blob(['obj.json'], {type: 'application/json'}); let link = document.createElement('a'); link.href = URL.createObjectURL(blob); link.download = 'obj.json'; link.click(); window.URL.revokeObjectURL(URL.createObjectURL(blob));注意,上述方法都是在浏览器环境中实现的,如果你在服务器上处理文件的拷贝,你可能需要考虑使用更安全的方法来控制文件的拷贝。
- 扫一扫访问手机版
回答动态

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器更新之后。服务器里面有部分玩家要重新创建角色是怎么回事啊?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题函数计算不同地域的是不能用内网吧?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题ARMS可以创建多个应用嘛?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题在ARMS如何申请加入公测呀?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题前端小程序接入这个arms具体是如何接入监控的,这个init方法在哪里进行添加?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器刚到期,是不是就不能再导出存档了呢?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器的游戏版本不兼容 尝试更新怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器服务器升级以后 就链接不上了,怎么办?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器转移以后服务器进不去了,怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器修改参数后游戏进入不了,是什么情况?预计能赚取 0积分收益
- 回到顶部
- 回到顶部
