4

Windows ストア開発 (Windows 8) で HTML/Javascript を使用して IFrame にローカル HTML ファイルを読み込んでいます。Iframe から Swipe イベントを取得しようとしています。

このサンプルこれで試してみました。1 つの div 要素を含むマウス ホイールのシナリオを省略しました。Iframe では機能しません。

私のコード:

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

 

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");
}

すべてのイベントの関数を作成しました。しかし、私の IFrame をスワイプすると、イベントが発生しません。ここで組み立てました。スワイプで作業する必要があります。これから抜け出すのを手伝ってください。

4

2 に答える 2

5

split.html がローカル ファイルの場合、.html 内からイベントをリッスンする必要がありますiframe。を使用parent.postMessage()して、ホスト/親 HTML ページまで通信できます。

または、 Windows 8.1 の HTML/JavaScript アプリで使用できる新しい WebView コントロールを調べることもできます。

于 2013-11-03T16:33:32.253 に答える