फिलहाल मैं एक वेब पेज पर पहले आईफ्रेम की सामग्री को पुनः प्राप्त कर सकता हूं जो $('iframe').contents() के साथ मेरा नहीं है।

इससे मैं $('iframe').contents().find('body') करके बॉडी टैग प्राप्त कर सकता हूं। परिणाम वही हैं जो अपेक्षित हैं

हालांकि, मैं दूसरे आईफ्रेम का बॉडी टैग प्राप्त करने का प्रयास कर रहा हूं। `$('iframe').eq(1) करके मैं दूसरा आईफ्रेम प्राप्त कर सकता हूं, लेकिन $('iframe').eq(1).contents() को कुछ नहीं मिलता।

मैं दूसरे आईफ्रेम की सामग्री कैसे प्राप्त कर सकता हूं?

-2
Michael 19 नवम्बर 2019, 06:49
कृपया एक न्यूनतम, प्रतिलिपि प्रस्तुत करने योग्य उदाहरण प्रदान करें: stackoverflow.com/help/minimal-reproducible-example
 – 
Twisty
19 नवम्बर 2019, 09:35

1 उत्तर

बहुत सारी Fiddles और ऐसी एक अच्छी परीक्षा जगह नहीं हो सकती है। CORS के साथ जटिलताएँ हैं। यहां एक उदाहरण दिया गया है जो काम करता है:

https://jsfiddle.net/Twisty/037yueqj/9/

एचटीएमएल

<iframe id="frame-1"></iframe>
<iframe id="frame-2"></iframe>

जावास्क्रिप्ट

$(function() {
  var f1 = $("#frame-1"),
    f2 = $("#frame-2"),
    frames = $("iframe");
  f1.contents().find("body").html("<strong>Frame 1</strong>");
  f2.contents().find("body").html("<strong>Frame 2</strong>");
  console.log(frames.eq(0).contents().find("body").text());
  console.log(frames.eq(1).contents().find("body").text());
});

यदि आप उन्हें विशिष्ट आईडी या कक्षाएं देते हैं, तो आप उचित चयनकर्ता को कॉल कर सकते हैं। आप एक व्यापक चयनकर्ता को कॉल कर सकते हैं और .eq() का उपयोग कर सकते हैं या .each() के साथ पुनरावृति कर सकते हैं।

0
Twisty 19 नवम्बर 2019, 10:08