我正在尝试使用nodewebkit制作一个迷你信息亭浏览器(全屏,最小选项等)。 信息亭浏览器的结构如下:
<!DOCTYPE html>
<head>
...
</head>
<body>
<!-- placeholder until iframe is loaded -->
<div class="placeholder">
<div class="loading">Loading</div>
</div>
<iframe id="iframe" src="" nwfaketop nwdisable></iframe>
<script type="text/javascript">
// Basic features of the kiosk browser
document.onkeydown = function(evt) {
//Toggle FullScreen on F1 or F11
if (evt.keyCode == 112 || evt.keyCode == 122) {
win.toggleKioskMode();
}
...
}
...
loadIframe();
...
</script>
</body>
问题是,一旦 iframe 加载并显示(100% 宽度和高度),事件就会在此 iframe 中触发,而不是在我的应用程序中触发。
我已经使用 documentation 尝试了几件事但我真的不明白如何让事情按照我想要的方式进行。
所以任何帮助都会很棒!谢谢。
最佳答案
一旦 iframe 加载,您就可以在 iframe 的内容窗口中注册事件处理程序。
var iframe = document.getElementById("iframe");
iframe.onload = function(){
iframe.contentWindow.addEventListener('keydown',yourHandler);
}
关于javascript - Node Webkit - 从 iframe 到应用程序的触发事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28874079/