gpt4 book ai didi

javascript - pdf object.messagehandler onMessage 在 IE 中不工作

转载 作者:行者123 更新时间:2023-11-30 12:48:09 26 4
gpt4 key购买 nike

在我的 pdf 中,在我的 onOpenAction 中,我有这个 js 代码:

app.alert(this.hostContainer); 
try {
this.hostContainer.postMessage(['Hello World']);
} catch(e) {app.alert(e.message);}

在我的 html 中,我有这段代码:

function messageFunc(messageArray) {    
alert("In message Func:"+messageArray);
}

document.getElementById("pdfObject").messageHandler = { onMessage: messageFunc };

在 Chrome 和 FF 中这工作正常,一个 pdf 警报显示有效的 hostContainer,一个网络浏览器警报显示消息,Hello World

在 IE (11) 中,我收到 pdf 警报,显示有效的 hostContainer,但没有浏览器警报。没有提示说有错误。

我做错了什么?

最佳答案

事实证明,在设置消息处理程序之前,需要在 IE 中加载 PDF,所以我这样做了:

function loadListener() {
var pdfObject = document.getElementById("pdfObject");
if(typeof pdfObject.readyState === 'undefined') { // ready state only works for IE, which is good because we only need to do this for IE because IE sucks in the first place
pdfObject.messageHandler = { onMessage: messageFunc };
return;
}
if(pdfObject.readyState==4) {
pdfObject.messageHandler = { onMessage: messageFunc };
} else {
setTimeout(loadListener,500);
}
}

这适用于所有 3 种浏览器。是的。

关于javascript - pdf object.messagehandler onMessage 在 IE 中不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21871623/

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