我有......
<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
本地存储的我如何实现这一目标?
答案 0 :(得分:0)
文件之间的代码分离并不重要(您可以将它们全部打包在一个文件中,没有任何问题)。执行顺序和范围。加载在网页上的所有脚本共享相同的全局范围,即window
,并且可以向其添加变量。
大多数库都这样做,所以你可以访问它们(例如,jQuery创建一个全局$
变量,你可以在任何地方使用它。)
然而,您的 Xpath 脚本却没有,因为它并不意味着直接嵌入到网页中。它是Firefox插件的一部分。因此,为了使其可访问,您需要对其进行修改。
一开始,改变一下:
define([
"firebug/lib/string"
],
function(Str) {
......对此:
window.Xpath = new (function(Str) {
最后,改变一下:
});
......对此:
})();
现在您已经执行了此操作,您可以使用这样的全局Xpath
对象:
$(function() {
$("body").click(function(event){
console.log(Xpath.getElementXPath(event.target));
});
});