【发布时间】:2011-06-21 02:20:46
【问题描述】:
一位客户给了我一组功能,以便在客户端检查是否安装了 OpenLight。 Firefox 和 IE 运行良好,但 Chrome 总是告诉我没有安装 OpenLight。
但是,我真的不明白如何追踪这一点,因为我完全不知道发生了什么。我在 Google 上搜索了事件的名称,但在 Google 中只得到 0 个结果:S 例如,以下是在 Firefox 中检查的代码:
function isOpenLightInstalled() {
try
{
var element = document.createElement("MyOpenLightDataElement");
document.documentElement.appendChild(element);
var evt = document.createEvent("Events");
evt.initEvent("MyOpenLightEvent", true, false);
element.dispatchEvent(evt);
if (element.getAttribute("reply") == "1")
{
return true;
}
}
catch(err)
{
}
return false;
}
这是在做什么?那些事件是什么?它如何知道它正在检查 OpenLight?
以下是Chrome功能:
function isOpenLightInstalled() {
try
{
var customEvent = document.createEvent('Event');
customEvent.initEvent('GCOLCustomEvent', true, true);
var element = document.getElementById("GCOpenLightDataElement");
element.dispatchEvent(customEvent);
if (element.getAttribute("reply") == "1")
{
return true;
}
}
catch(err)
{
}
return false;
}
有人可以在这里说明一下吗:(
【问题讨论】:
标签: javascript google-chrome dom-events