我试图制作一对打开PDF时显示的对话框;一个对话框将显示PDF是否在支持Adobe Reader级别JavaScript功能的阅读器中打开,另一个对话框将显示是否未显示上一个对话框(即,如果PDF在少量阅读器中打开) JavaScript支持,这意味着无法显示第一个对话框。)
我现在遇到的问题是尝试显示第二个对话框。我尝试使用try-catch,但我认为它没有用,因为第一个对话框实际上没有显示......或者其他东西。
那么,如果由于缺乏支持而没有显示第一个对话框,我将如何显示第二个对话框?
这是我当前的代码(在页面属性中写为"页面打开"操作):
try {
var d = dialog();
d.execDialog();
} catch (e) {
app.alert("ERROR: Incompatible reader; please install Adobe Reader to open this file.");
}
function dialog()
{
var dialogDescriptor =
{
// Dialog description goes here
};
var dialogObject =
{
execDialog: function() { return app.execDialog(dialogDescriptor); },
};
return dialogObject;
}
我使用app.execDialog的原因是因为第一个对话框中会有超链接。
另外,我对使用JavaScript和使用PDF很新,所以如果这是一个愚蠢的问题我会道歉。
答案 0 :(得分:0)
您可以通过测试app.execDialog是否为函数来检查PDF查看器是否支持Dialog对象。像这样......
if (typeof app.execDialog === "function") {
// Can show Acrobat dialogs
}
else {
// Can't show Acrobat Dialogs
}
这种代码适用于任何函数或对象方法。