扩展DOMWindow对象

时间:2011-11-21 10:43:52

标签: javascript

我是一个完整的JavaScript / jQuery n00b,所以请提前原谅我。

想象一下,有一个网页(W1)显示了一个项目列表(I1I2,...)。现在有第二个网页W2在FancyBox'ed W1iframe)中显示<a class="iframe" href="addressof(W1)">Pick items</a>

W1中的每个项目都有一个JavaScript处理程序附加到其click事件,执行此操作:

function SetOpenerClient(id, name,isHoldings)
{
    var _hfBackPath = document.getElementById('ctl00_main_hfBackPath');
    var url = _hfBackPath.value;
    window.navigate(url +"?id="+id+"&name="+name+"&isHol="+isHoldings);
}

通常使用这个混乱的方法是window.open()一个窗口并提供一个“后路”:

window.open(addressof(W1) + "?backpath=" + addressOfHandlerThisWebSite, 
    "selectClient", 
    "status=no,toolbar=no,menubar=no,location=no,scrollbars=yes")

现在我的调查显示了。每当用户点击W1内的某个项目时,它都会回到backpath_hfBackPath SetOpenerClient()),这恰好是一个特制的页面,可以抓取id 1}} querystring参数,将其填入Session内并执行各种其他操作。

W1内打开iframe时,Chrome会抱怨:

  

Uncaught TypeError:Object [object DOMWindow]没有方法'navigate'

这就是我想要的(顺便说一下,你的椅子上有50美元的钞票),我真的希望这是可能的。我想“重新定义”window.navigate方法,以便我可以手动处理项目选择。这可能吗?我天真的尝试设置

DOMWindow.navigate = function () { alert("window.navigate"); };

显然不做任何事情。

0 个答案:

没有答案