在IE中检测adobe reader

时间:2011-06-24 19:34:43

标签: javascript internet-explorer activex detection adobe-reader

我一直在使用新的ActiveXObject('AcroPDF.PDF')来检测任何Adobe Reader 7或更高版本。就在最近,Adobe Reader上有更新推出。现在,当我尝试运行该代码时。它只是'死'。还有其他人遇到同样的问题吗?欢迎任何建议或想法。

提前致谢,

注意:IE8。 Adobe Reader X.Windows XP。

1 个答案:

答案 0 :(得分:0)

您是否尝试过通过CLSID而不是progId运行它? CLSID是CA8A9780-280D-11CF-A24D-444553540000,如果我没记错的话。

也许你可以澄清'死'是什么意思?


更新

var checkAdobeReaderAvailability = function (displayMessageDelegate) {
            var dynamicObject = document.createElement("object");
            dynamicObject.onreadystatechange = function (x) {
                if (dynamicObject.readyState === 4) {
                    if (displayMessageDelegate !== undefined && typeof displayMessageDelegate === 'function') {
                        displayMessageDelegate();
                    }
                }
            }
            dynamicObject.classid = 'CLSID:CA8A9780-280D-11CF-A24D-444553540000';           

            document.getElementById('host').appendChild(dynamicObject)
        }

        var checkAdobeReaderAvailabilityWithProgId = function (displayMessageDelegate) {
            var ax = new ActiveXObject('AcroPDF.PDF');

            displayMessageDelegate(ax);
        }
        var onload = function () {
            checkAdobeReaderAvailability(function () { alert('Done!'); });
            checkAdobeReaderAvailabilityWithProgId(function () { alert('Done!'); });
        }