1

私は2つhtmlのファイルと1つのファイルを持っていますIFrame

構造は、

ここに画像の説明を入力

outside.htmlと のオブジェクトを取得できますiframe。しかし、のオブジェクトを取得できませんinside.html

私の inside.html は、

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<link rel="stylesheet" type="text/css" href="<%=request.getContextPath() %>/css/chat.css">
<title>Heart JSP page</title>

</head>
<body>

    <div id="messageArea" class="divBorder">

     Chat Interaction id is : Some value.

    </div>
    <div id="enterMessage" class="divBorder">
    Your message Area
    </div>
</body>
</html>

私のjavascript

if($("#chatMessageArea").length){

    alert("outside.html Object is present !");

    if($("#ch"+intxnId).length){

        alert("IFrame Object is present !");

        if($("#ch"+intxnId).contents().find("#messageArea").length){
            alert("inside.html Object is present !");
        }else{
            alert("inside.html Object is not available !");
        }

    }else{
        alert("IFrame Object is not available !");
    }
}
else{
    alert("outside.html Object is not available  !");
}

ノート :

#chatMessageArea- outside.html の div の ID

#chintxid - iframe の ID

#messageArea - inside.html の div の ID

inside.html のオブジェクトを取得するのを手伝ってくれる人はいますか。

4

3 に答える 3

0

このヘルパー関数を使用して、iframe のドキュメントを取得します

getFrameContentDocument = function(frame) {
   var doc = frame.contentDocument || frame.contentWindow.document;
   return doc;
};

次に、コードは次のようになります

var iframe = document.getElementById("ch" + intxid);
var iframeDoc = getFrameContentDocument(iframe);
// You can now get elements in this iframe 
var messageArea = iframeDoc.getElementById("messageArea");
于 2013-06-27T09:57:00.767 に答える
0

によって解決策を得ました、

if($("#chatMessageArea").length){

    alert("chatMessageArea Object is present !");

    if($("#ch"+intxnId).length){

        if($("#ch"+intxnId).contents().find('body').find("#messageArea").length){

            alert("messageArea Object is present !");
        }else{
            alert("messageArea Object is not available !");
        }
    }else{
        alert("IFrame Object is not available !");
    }
}
else{
    alert("chatMessageArea Object  not available  !");
}
于 2013-07-11T09:13:27.523 に答える
0

これを試して:

var ifr = document.getElementById('chintxid');
ifr.contentDocument.getElementById('messageArea').innerHTML = "reached!";

最初に iFrame id を取得し、その中に必要なコンテンツを取得する必要があります。これがあなたが探していたものかどうか教えてください..

于 2013-06-27T09:54:32.440 に答える