在another.js中调用.js函数

时间:2017-02-05 11:49:09

标签: javascript jquery-plugins

我有......

<html>
 <head>
  <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script>
  <script src="xpath.js"></script>
  <script src="myscript.js"></script>
  </head>
  <body>
     <!-- some html code -->
  </body>
</html>

myscript.js

$( document ).ready(function() {
   $("body").click(function(event){
       console.log(event.target);
       //call xpath.js (getxpath(event.target))
   });
});

xpath.js

本地存储的

here

我如何实现这一目标?

1 个答案:

答案 0 :(得分:0)

从其他文件访问功能

文件之间的代码分离并不重要(您可以将它们全部打包在一个文件中,没有任何问题)。执行顺序和范围。加载在网页上的所有脚本共享相同的全局范围,即window,并且可以向其添加变量。

大多数库都这样做,所以你可以访问它们(例如,jQuery创建一个全局$变量,你可以在任何地方使用它。)

然而,您的 Xpath 脚本却没有,因为它并不意味着直接嵌入到网页中。它是Firefox插件的一部分。因此,为了使其可访问,您需要对其进行修改。

修改xpath.js

一开始,改变一下:

define([
    "firebug/lib/string"
],
function(Str) {

......对此:

window.Xpath = new (function(Str) {

最后,改变一下:

});

......对此:

})();

使用它

现在您已经执行了此操作,您可以使用这样的全局Xpath对象:

$(function() {
   $("body").click(function(event){
       console.log(Xpath.getElementXPath(event.target));
   });
});