gpt4 book ai didi

javascript - 为什么我无法检测到 CRM2011 中不存在 Xrm 对象/函数

转载 作者:行者123 更新时间:2023-11-30 13:18:36 24 4
gpt4 key购买 nike

我有一些 javascript,我想附加到表单和 MS dynamics CRM 2011 中的 HTML 网络资源。它需要 Xrm 对象,它可以在表单上下文中直接使用,也可以通过 window.top.Xrm在 HTML 网络资源中时。

我想我应该编写一个快速函数来检查 Xrm 是否已定义,这样我就可以确定我是在表单中运行还是在 HTML 网络资源中运行。作为起点,因为我真的是 javascript 的新手,所以我编写了这段代码来检查 Xrm 是否存在并显示一条消息。

alert('Running'); 
if(Xrm) { alert('Yup'); } else { alert('Nope'); }
alert('Done');

但是,这不起作用,我不明白为什么。当它在表单事件(例如表单加载)中运行时,Xrm 存在并且我看到警报“正在运行”、"is"和“完成”。但是,当在无法直接使用 Xrm 的 HTML 网络资源中运行时,我看到“正在运行”警报,但 javascript 只是在下一行停止。

请帮忙!

最佳答案

Xrm 未定义时,您的代码将引发异常 ReferenceError: Xrm is not defined 并停止执行其余 Javascript。要检查变量是否存在,您应该使用:

if (typeof Xrm !== 'undefined') { alert('Yup'); } else { alert('Nope'); }

关于javascript - 为什么我无法检测到 CRM2011 中不存在 Xrm 对象/函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11118074/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com