2011-08-24 70 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中的所有数组上调用该函数。

我希望能够解释得很好。