2012-11-22 39 views
2

我想知道的是它可以节省一些,例如,simplemath.js文件,如何使用JavaScript函数,在浏览器的JavaScript控制台中的某些外部* .js文件中定义?

function ADD(a, b) 
{ 
    return a + b; 
} 

简单的功能,运行Opera的或其他一些浏览器的JavaScript控制台,包括在某种程度上这(simplemath.js)文件,调用ADD(2,5),并在控制台中获取结果或在当前网页上执行JavaScript代码并使用其内容进行操作。我怎样才能做到这一点?如何在网页浏览器的javascript控制台中使用外部文件的javascript功能?

//编辑

simplemath.js仅仅是本地文件,某处硬盘驱动器(c:\temp\simplemath.js)上,没有本地主机的Web服务器上运行。我想在任何网页上运行它的脚本,并得到类似于在浏览器地址栏中输入javascript: function ADD(a, b){return a+b;} alert(ADD(1, 41);)的结果,但通过控制台,并从外部文件加载ADD函数。

+0

“simplemath.js”文件位于何处?在网络上的某个地方,或在您的磁盘上?你有在本地主机上运行的网络服务器吗? – Bergi

+0

这只是本地文件,在硬盘上的某处('c:\ temp \ simplemath.js'),没有运行Web服务器。我想在任何网页上运行它的脚本,并得到类似于在浏览器地址中输入'javascript:function ADD(a,b){return a + b;} alert(ADD(1,41);)'的结果栏,但从控制台,并从外部文件加载此功能。 – Dmytro

回答

2

您可以包括你的simplemath.js文件作为userscript into Opera

如果启用,用户的JavaScript将大多数的网页被载入 您的访问,包括任何框架和嵌入式框架页。用户JavaScript中创建的任何全局函数和变量 将为 可用,并且可以通过这些页面上的任何脚本读取。出于这个原因 ,保护您的隐私和安全,我们建议您不要 不包括你的用户的JavaScript

任何敏感信息,您可以enable it全局或特定页面上的唯一。 Opera也支持greasemonkey scripts,一个Firefox addon。然而(至少在FF中)他们通常在沙箱中运行,所以他们不会将全局变量泄漏到可从控制台访问的网页中(除非您明确声明)。

3

您至少有两种方法太加载脚本在从控制台头:

document.head.innerHTML+="<script src='simplemath.js'></script>"; 

或使用appendChild()

var script= document.createElement('script'); 
script.type= 'text/javascript'; 
script.src= 'simplemath.js'; 
document.head.appendChild(script); 

如果加载项功能在全局空间中定义你可以直接在控制台中调用ADD(2, 5)

您也可以先用上面的方法加载jQuery和然后加载脚本:

$.getScript('simplemath.js'); 

而最重要的,所以你不必有安全或路径的任何问题,并允许加载这些JavaScript的你应该在同一个文件夹中的一个文件夹中包含所有这些脚本的空html,并在空html运行的同一窗口中打开控制台。 否则您将遇到域和路径问题。

+0

但是如果我想在外部网页上运行这些脚本,而不是在本地?例如,在谷歌页面上。 – Dmytro

+0

@DmytroTsiniavsky这是违反安全政策,你不能从另一个域加载JavaScript文件,但你可以通过chrome来做到这一点,例如通过使用命令行选项'--disable-web-security'禁用安全运行chrome并且然后在'src'指定'file://'前面的'js'文件的完整路径。 –

+0

@DmytroTsiniavsky请参阅http://en.wikipedia.org/wiki/Same_origin_policy –

相关问题