3

我想知道是否可以保存一些simplemath.js文件,例如

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

简单的函数,运行 opera 或其他浏览器的 javascript 控制台,以某种方式包含此 (simplemath.js) 文件,调用 ADD(2, 5),并在控制台中获取结果或在当前网页上执行 javascript 代码并使用其内容进行操作。我怎样才能做到这一点?如何在 Web 浏览器的 javascript 控制台中使用来自外部文件的 javascript 函数?

// 编辑

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

4

2 回答 2

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 函数,您可以ADD(2, 5)直接在控制台中调用。

您也可以先使用上述方式加载 jQuery,然后使用以下方法加载脚本:

$.getScript('simplemath.js');

最重要的是,因此您对安全性或路径没有任何问题,并被允许加载那些 javascript 文件,您应该将所有这些脚本放在同一个文件夹中的一个文件夹中,一个空的 html,并在同一个窗口中打开控制台,该窗口为空 html被跑了。否则,您将遇到域和路径问题。

于 2012-11-22T11:23:40.810 回答
2

您可以将simplemath.js文件作为用户脚本包含到 Opera中:

如果启用,用户 JavaScript 将加载到您访问的大多数页面上,包括任何框架和内联框架中的页面。在用户 JavaScript 中创建的任何全局函数和变量都将可用,并且可以被这些页面上的任何脚本读取。因此,为了保护您的隐私和安全,我们建议您不要在您的用户 JavaScript 中包含任何敏感信息

您可以全局启用它,也可以仅在特定页面上启用它。Opera 也支持greasemonkey 脚本,一个Firefox 插件。然而(至少在 FF 中)它们通常在沙箱中运行,因此它们不会将全局变量泄漏到可以从控制台访问的网页中(除非您明确说明)。

于 2012-11-22T15:00:51.097 回答