检测来自iframe的滑动手势

Kum*_*mar 4 javascript iframe windows-8 winjs windows-store-apps

我在Windows商店开发中使用HTML/Javascript在Windows IF中加载本地HTML文件(Windows 8).我正在尝试从Iframe获取Swipe事件.

我试过这个样本这个.我休养了包含一个div元素的鼠标滚轮方案.对于Iframe,它不起作用.

我的代码:

<body>
    <iframe  id="iframe_Id" src="split.html" style="height:768px; width:1366px;" onload="Load();"></iframe>
</body>
Run Code Online (Sandbox Code Playgroud)

 

function Load() {

var elt = document.getElementById("iframe_Id");

    elt.style.backgroundColor = "#f3f3f3";
    var gobj = new MSGesture();
    // Defining gesture object for Pen, mouse and touch
    gobj.target = elt;
    elt.gesture = gobj;
    elt.gesture.pointerType = null;

    // Creating event listeners for gesture elements
    elt.addEventListener("MSPointerDown", onPointerDown, false);
    elt.addEventListener("MSGestureTap", onTap, false);
    elt.addEventListener("MSGestureHold", onHold, false);
    elt.addEventListener("MSGestureChange", onGestureChange, false);

    // Mouse Wheel does not generate onPointerUp
    elt.addEventListener("MSGestureEnd", onGestureEnd, false);

}

function onPointerDown(e) { 
 var content = document.getElementById("iframe_Id");
}
Run Code Online (Sandbox Code Playgroud)

我为所有事件创建了函数.但是当我在IFrame中滑动时,事件没有提升.我在这里结构.我需要使用Swipe.请帮我解决这个问题.

Rya*_*Joy 5

如果split.html是本地文件,您应该从内部监听事件iframe.然后,您可以使用parent.postMessage()与主机/父HTML页面进行通信.

或者,您可以研究Windows 8.1中HTML/JavaScript应用程序可用的新WebView控件.