我想知道是否可以使用
保存一些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
函数。
答案 0 :(得分: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正在运行。 否则,您将遇到域和路径问题。
答案 1 :(得分:2)
您可以将simplemath.js
个文件包含为userscript into Opera:
如果启用,则会在您的大多数页面上加载用户JavaScript 访问,包括任何框架和内联框架中的页面。任何全球性的 在用户JavaScript中创建的函数和变量将是 可用,可以通过这些页面上的任何脚本读取。为了这 为保护您的隐私和安全,我们建议您这样做 不在用户JavaScript中包含任何敏感信息
您可以全局或仅在特定网页上enable it。 Opera也支持greasemonkey scripts,Firefox addon。然而(至少在FF中)它们通常在沙箱中运行,因此它们不会将全局变量泄漏到可以从控制台访问的网页中(除非您明确说明)。