我有一个外部.js文件,我在我的一个网站上加载到流行的jquery图表。我不希望其他人能够只复制我的代码并让它适用于他们,那么有没有办法让.js文件只能在一个域上运行?有点像你可以防止图像被热链接到其他域。
答案 0 :(得分:0)
根据插件的功能,可能会有一个解决方案。执行此操作的有限方法是CORS - 您从域中加载脚本,并使其从同一(子)域加载数据。如果该服务器禁用了跨源请求,那么如果有人刚刚使用了您的源文件,那么他们对数据的请求将会失败 - 因为同源策略。
当然,这不会限制人们只是将您的代码复制/粘贴到他们的网站并使用他们自己的代码 - 但如果您只是想阻止您的服务器成为他们的javascript文件的主机,那么这可能做到这一点。
检查此链接以获取有关同源的更多信息:
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Same_origin_policy_for_JavaScript
或者,使用服务器端代码生成这些图表 - 因为没有什么可以阻止客户端下载您的javascript源代码。