在页面中未包含的javascript文件中调用函数

时间:2011-12-21 06:40:02

标签: javascript jquery

以下是一个例子:

我有一个1.js文件,它有一些功能。我必须将它们提供给另一个文件2.js. 1.js不包含在页面中,但2.js是(使用src ='')。

有办法做到这一点吗?我不想向用户公开1.js,但想在2.js

中使用它的功能

2 个答案:

答案 0 :(得分:5)

描述

JavaScript在客户端(浏览器)上运行,因此您必须使文件可用。 考虑编码和缩小文件以使其更难阅读。

更多信息

Online Javascript Compression Tool

JavaScript Compressor - Compress JavaScript Code Online for Free

HTML/text/JavaSript Escaping/Encoding Script

Free Javascript Obfuscator - Protects JavaScript code from stealing and shrinks size

更新

  1. 您可以执行Ajax调用以获取javascript并使用eval。我会这样使用jQuery .load()

  2. 可以使用像这样的javascript包含javascript文件

    function include(filename)
    {
        var head = document.getElementsByTagName('head')[0];
    
        script = document.createElement('script');
        script.src = filename;
        script.type = 'text/javascript';
    
        head.appendChild(script)
    

    }

  3. 然后您可以从其他脚本/源调用方法。但这对用户是可见的,有经验的用户会发现这一点。 更难找到一个简单的

    <script src="..." type="text/javascript"></script>
    

答案 1 :(得分:3)

您无法将javascript保密。如果您希望它运行,用户将能够看到它。您可以对其进行模糊处理,但即使这些方法也可能被破坏,因此如果这是关于隐私,请尝试另一种方法。您可以使用闭包将其组织成类和对象,但即使这些也可以由确定的用户调用。