如何从另一个页面上的java脚本文件中的外部文件调用一段代码

时间:2016-12-01 22:29:50

标签: javascript jquery json html5 function

我有一个JavaScript文件:“myCode.js”

此文件包含一些javascript代码:

        var user = JSON.parse(localStorage.getItem("m"));
        d.Stacks.Set.Map = user.layer;
        d.Provider = user.Provider;

        var s = user.Stacks;
        if (s instanceof Array){
            d.geo.ref = user.stacks.name;
        } else {
            d.geo.ref = user.stacks.name;
        }

此代码不在任何函数中。

我有多个使用此代码的文件,而不是将此代码复制并粘贴到我想要的方法,例如链接到这个“myCode.js”并调用代码。其他文件都有需要这段代码的函数。

例如

    var d = $.getJSON("main.json", function(d) {
           var user = JSON.parse(localStorage.getItem("m"));
           d.Stacks.Set.Map = user.layer;
           d.Provider = user.Provider;

           var s = user.Stacks;
           if (s instanceof Array){
                d.geo.ref = user.stacks.name;
           } else {
                d.geo.ref = user.stacks.name;
           }
         o.load(d);
     });

我想要的是:

    var d = $.getJSON("main.json", function(d) {
         //HAVE THE CODE FROM "myCode.js" here
         o.load(d);
     });

这可能吗?如果有,怎么样? :)提前谢谢。

1 个答案:

答案 0 :(得分:0)

您可以创建一个函数并将其放在每个页面上包含的任何js文件中。

<强> myCode.js

function modifyD(d) {
  var user = JSON.parse(localStorage.getItem("m"));
  d.Stacks.Set.Map = user.layer;
  d.Provider = user.Provider;
  d.geo.ref = user.Stacks.name;
}

由于d是一个对象并通过引用传入函数,因此您实际上不需要返回任何内容。

<强>任何-file.html

  <script>
  var d = $.getJSON("main.json", function(d) {
    modifyD(d);
    o.load(d);
  });
  </script>

  ...

  <script src="myCode.js"></script>