我有一个共同的职能:
function getUrl() {
return Xrm.Page.context.getClientUrl() + "/api/data/v9.0/";
}
但是有时我需要使用父框架来获取网址,例如:
function getUrl() {
return window.parent.Xrm.Page.context.getClientUrl() + "/api/data/v9.0/";
}
如果需要的话,我可以声明此通用函数通过window.parent.
吗?
如果未传递参数,则使用通用实现。
答案 0 :(得分:0)
只需使用一个参数:
function getUrl(_use_parent){
let url;
if(_use_parent)
url = window.parent.Xrm.Page.context.getClientUrl();
else
url = Xrm.Page.context.getClientUrl();
return url + "/api/data/v9.0/";
}
如果仅调用getUrl(),则_use_parent是未定义的,因此它将使用else语句。
[edit]如果您真的想通过window.parent
function getUrl(_window_parent){
let url;
if(_window_parent)
url = _window_parent.Xrm.Page.context.getClientUrl();
else
url = Xrm.Page.context.getClientUrl();
return url + "/api/data/v9.0/";
}
但是,如果_window_parent不是正确的对象,则可能会出现JavaScript错误。