使用以下语句是因为可能无法始终定义相关方法(refreshPartyList())。
try {
parent.document.getElementById("myId").contentWindow.refreshPartyList(param1, param2);
}catch(e){}
目前使用上述方法并且工作正常,但有更好的选择吗?
答案 0 :(得分:4)
var e = parent.document.getElementById("myId").contentWindow;
if(e.refreshPartyList)
e.refreshPartyList(param1, param2);
答案 1 :(得分:2)
您可以使用简单的if:
检查方法是否存在 if (parent.document.getElementById("myId").contentWindow.refreshPartyList) {
parent.document.getElementById("myId").contentWindow.refreshPartyList(param1, param2);
}
或者更好的是,使用jQuery(因为if
并不保证它是一个函数):
if (jQuery.type(parent.document.getElementById("myId").contentWindow.refreshPartyList) == 'function') {
答案 2 :(得分:1)
var win = parent.document.getElementById("myId").contentWindow;
win.refreshPartyList && win.refreshPartyList(param1, param2);
使用x.method && x.method(...)
检查方法是否存在。