使用 jQuery 的 Html5 postMessage,但不使用 jQuery-postMessage 脚本

Html5 postMessage using jQuery, but not jQuery-postMessage script

本文关键字:jQuery-postMessage 脚本 jQuery Html5 postMessage 使用      更新时间:2023-09-26

所以我在Html5 Demos上弄乱了Html5 PostMessage示例,我创建了一个示例jsfiddle,看看我是否理解它是如何协同工作的。

该演示使用了我认为可以用 jQuery 选择器$("#...")替换的document.getElementById(...),但我卡在了 上,因为从 jQuery 选择返回的对象无法访问contentWindowdocument.getElementById(...)可以访问

document.getElementById("frame1").contentWindow.postMessage("Hello from another domain", "http://dl.dropbox.com"); // works
$("#frame1").contentWindow.postMessage("Hello from another domain", "http://dl.dropbox.com"); // no dice

我并不完全精通jQuery,不知道从选择器调用结果对象的众多方法中的哪一个,以返回到我将从document.getElementById(...)中看到的结果。

$("#frame1")    // This a jQuery object that encapsulate the DOM element.
$("#frame1")[0] // this is the DOM element.
//Or
$("#frame1").get(0) // this is the DOM element.

完整代码:

$("#frame1")[0].contentWindow.postMessage("Hello from another domain", "http://dl.dropbox.com"); // DICE!

更新的小提琴

但是我觉得使用 jQuery

通过id进行选择然后从中提取 DOM 元素,并且根本不使用 jQuery 很尴尬。 document.getElementById怎么了? 那 15 个额外的字符?