Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/73.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript JS的功能是什么';postMessage()';当在html对象标记上调用时,您会怎么做?_Javascript_Html_Actionscript 3_Pdf_Object Tag - Fatal编程技术网

Javascript JS的功能是什么';postMessage()';当在html对象标记上调用时,您会怎么做?

Javascript JS的功能是什么';postMessage()';当在html对象标记上调用时,您会怎么做?,javascript,html,actionscript-3,pdf,object-tag,Javascript,Html,Actionscript 3,Pdf,Object Tag,我想在AdobeAIR中显示的PDF上调用print函数。我通过在我的PDF上调用postMessage解决了这个问题,如下所示: //this is the HTML I use to view my PDF <object id="PDFObj" data="test.pdf" type="application/pdf"/> ... //this actionscript lives in my air app var pdfObj:Object = htmlLoader.w

我想在AdobeAIR中显示的PDF上调用print函数。我通过在我的PDF上调用postMessage解决了这个问题,如下所示:

//this is the HTML I use to view my PDF
<object id="PDFObj" data="test.pdf" type="application/pdf"/>

...
//this actionscript lives in my air app
var pdfObj:Object = htmlLoader.window.document.getElementById("PDFObj");
pdfObj.postMessage([message]);
在JavaScript和ActionScript中运行良好

我查阅了MDC关于postMessage的内容,但我只找到了window.postMessage

现在,代码就像一个符咒,postMessage神奇地将我的消息发送到我的PDF的嵌入式JavaScript。然而,我仍然不确定我是如何做到这一点的

我找到了这个方法,但没有真正解释它:

HTML-PDF通信基础
HTML页面中的JavaScript可以通过调用表示PDF内容的DOM对象的postMessage()方法向PDF内容中的JavaScript发送消息

你知道这是如何实现的吗?

“postMessage”本质上是JavaScript发布/订阅模型的一半

您可以发布任何您喜欢的消息,但它依赖于侦听该消息事件的内容。因此,你的邮件本质上是你把一个事件抛到了篱笆上,希望另一边有什么东西在等着你对事件做些什么。在围栏的另一边(希望如此)是一个事件侦听器,如下所示:

window.addEventListener("message", doSomethingWithTheMessage, false);

function doSomethingWithTheMessage(event) {
    alert("Do Something!");
}
更多信息请点击此处:

在您的特定示例中,当您沿着这些线嵌入一个对象(如PDF、Flash或其他东西)时,它们可能会以这种方式监听事件。

“postMessage”本质上是JavaScript发布/订阅模型的一半

您可以发布任何您喜欢的消息,但它依赖于侦听该消息事件的内容。因此,你的邮件本质上是你把一个事件抛到了篱笆上,希望另一边有什么东西在等着你对事件做些什么。在围栏的另一边(希望如此)是一个事件侦听器,如下所示:

window.addEventListener("message", doSomethingWithTheMessage, false);

function doSomethingWithTheMessage(event) {
    alert("Do Something!");
}
更多信息请点击此处:

在您的特定示例中,当您沿着这些线嵌入对象(如PDF、Flash或其他东西)时,它们可能会以这种方式监听事件