你能让一个外部.js文件只在一个域上工作吗?

时间:2014-01-16 00:42:41

标签: javascript external hotlinking

我有一个外部.js文件,我在我的一个网站上加载到流行的jquery图表。我不希望其他人能够只复制我的代码并让它适用于他们,那么有没有办法让.js文件只能在一个域上运行?有点像你可以防止图像被热链接到其他域。

1 个答案:

答案 0 :(得分:0)

根据插件的功能,可能会有一个解决方案。执行此操作的有限方法是CORS - 您从域中加载脚本,并使其从同一(子)域加载数据。如果该服务器禁用了跨源请求,那么如果有人刚刚使用了您的源文件,那么他们对数据的请求将会失败 - 因为同源策略。

当然,这不会限制人们只是将您的代码复制/粘贴到他们的网站并使用他们自己的代码 - 但如果您只是想阻止您的服务器成为他们的javascript文件的主机,那么这可能做到这一点。

检查此链接以获取有关同源的更多信息:

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Same_origin_policy_for_JavaScript

或者,使用服务器端代码生成这些图表 - 因为没有什么可以阻止客户端下载您的javascript源代码。