2011-08-24 84 views
-2

我需要了解什麼呢代碼做
這個頁面是在我的博客,我還沒有創建它的頁面的解釋這個代碼

var u = location.href, h = u.substr(u.indexOf('#') + 1).split('&'), t, r; 
try { 
    t = h[0] === '..' ? parent.parent : parent.frames[h[0]]; 
    r = t.gadgets.rpc.receive; 
} catch (e) { 
} 
r && r(h); 

位置
http://roadtoheavenisnothere.blogspot.com/rpc_relay.html

+0

看起來像一些縮小的代碼....你想要什麼? – Neal

+1

它的哪些部分不瞭解?第一行創建了一些變量,try塊尋找一個名爲't.gadgets.rpc.receive'的方法並吸收一個異常(壞習慣),最後一行調用'r()',如果它被分配到try塊。 –

+0

這不是太多的代碼。只需重寫它就可以做到你所需要的,並使其易於閱讀。 – Maxx

回答

1
  1. 在本地定義變量u,h,t和r
  2. 將u設置爲當前的URL
  3. 設h爲&劃定的值#。 (這意味着父對象上的幀對象的屬性h [0])
  4. 如果t有屬性t.gadgets.rpc.receive;然後將其設置爲r
  5. 如果r,則對h調用r。
  6. ...?
  7. Profit
+0

+ 1,但建議增加:7.,8.利潤。 –

+0

@Chris YES!絕對。 – cwallenpoole

0

它訪問基於所述URL向上的哈希部分的幀,直到第一&。因此,網址中的#&之間的所有內容。然後它從框架中獲取一個名爲rpc gadget的東西(我不知道該對象是什麼),並將一個名爲r的變量設置爲該對象的receive函數。如果該函數存在,它將在第一個#拆分爲&之後的整個url中的所有數組上調用該函數。

我希望能夠解釋得很好。