こんにちは私のページにいくつかのiframeを追加しています。 iframeには1つの値しか含まれておらず、それを親のフォームにしたいと考えています。私はスタックオーバーフローでここに投稿された回答の多くを試してみましたが、どれも私のために働いていません。下に、イメージを添付して、iframeがページにどのように含まれているかを確認できます。私は後でそれを使うことができるように、赤枠で値を取得したいと思います。親からiframeからinnerTextを取得
コード:
var graphUrls = tmpSource.getGetFeatureInfoUrl(
graphCoor, viewResolution, 'EPSG:3857', {'INFO_FORMAT': 'text/html'});
var frr = document.createElement("iframe");
frr.onload = function(){
var jjj = $("iframe body a").text()
var kkk = $("iframe body #ras-val").text()
console.log("jjj ", jjj)
console.log("kkk ", kkk)
};
frr.id = sourceParams.year + "-" + sourceParams.month + "-" + sourceParams.day;
frr.src = graphUrls
document.body.appendChild(frr);
jQueryを使ってみましたか? $( "iframe body a")。text()? – Kathara
または$( "iframe body#ras-val")。text()? – Kathara
ねえ、ソリューションは空の文字列だけを返します。私は$( "#" + String(frames [i] .id)))contents()。find( "a")も試しました。これはinnerTextの値が深いところに保存されているが、EdgeではChromeでこの文字列も空のオブジェクトを返します。値にアクセスしようとすると、まだiframeがロードされていない可能性がありますか?なぜ異なるブラウザで異なる動作をするのですか?この場合iframeが読み込まれるまでどのように待つのですか? –