2016-07-20 50 views
1

我们有一个脚本可以在我们的页面上尽早运行,将值提供给第三方。从数据元素创建变量

foo.bar.myPage({ 
    "myId": "12345", 
    "myName": "My name is Joe", 
}); 

我想使用其中一个值创建一个新变量并将其用于其他值。我无法弄清楚如何从上面获取价值。我无法访问上面的代码 - 需要通过CMS使用javascript或jquery执行此操作。帮帮我?

var valueFromMyId = $(myId); 
alert (valueFromMyId); 

显然我想让“12345”在我的警报中发射。

+0

不可能告诉我们,我们不知道myPage()的作用以及它的设置 – epascarello

+0

我们不知道'myPage'函数的作用。你可以用'console.log(foo.bar)'打印'foo.bar',看看你是否在那里找到你的信息... – eisbehr

+0

我也没有......那就是问题:)我会尝试 – user3390251

回答

0

我试过这样的事情:

foo = { 
     "bar":{ 
      "myPage":function(param){ 
        console.log("inside"+param); 
      } 
     }}; 

foo.bar.myPage(123); //print inside 123 

现在试试这个覆盖,如果您可以访问foo.bar。

var backup = foo.bar.myPage 
foo.bar.myPage = function(param){ 
      console.log("Using params outside the actual function "+ param); 
//calling the actual function which was getting called initially 
       backup(param); 
} 

现在每foo.bar.myPage呼叫将通过您的定义方法,这样实际的功能得到它之前,你可以访问PARAM。

这可能不是最好的办法。但是,如果你有权访问foo.bar对象,它将工作。测试并让我知道这是否有帮助。

+0

不能访问foo.bar – user3390251

+0

为此,您无需访问代码。您将在运行时覆盖该函数。问题是重写脚本加载和'foo.bar.myPage({});'行之间的函数。但它可以工作。 – eisbehr

+0

@ user3390251,你真的尝试过使用这段代码吗? – Ninja