2016-07-20 91 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