<iframe id="id_description_iframe" class="rte-zone" height="200" frameborder="0" title="description">
<html>
<head></head>
<body class="frameBody">
test<br/>
</body>
</html>
</iframe>
আমি যা পেতে চাই তা হ'ল:
test<br/>
<iframe id="id_description_iframe" class="rte-zone" height="200" frameborder="0" title="description">
<html>
<head></head>
<body class="frameBody">
test<br/>
</body>
</html>
</iframe>
আমি যা পেতে চাই তা হ'ল:
test<br/>
উত্তর:
নির্ভুল জাভাস্ক্রিপ্ট দিয়ে এটি কীভাবে করবেন তা হুবহু প্রশ্ন j
তবে আমি সবসময় সলিউশনটি ব্যবহার করি যা jQuery এর উত্স কোডে পাওয়া যায়। এটি নেটিভ জাভাস্ক্রিপ্টের এক লাইন।
আমার জন্য এটি সর্বোত্তম, সহজ পঠনযোগ্য এবং এমনকি আফ্রিকার সামগ্রী প্রাপ্তির সংক্ষিপ্ততম উপায়ও আফিক ।
প্রথমে আপনার ইফ্রেমে নিন
var iframe = document.getElementById('id_description_iframe');
// or
var iframe = document.querySelector('#id_description_iframe');
এবং তারপরে jQuery এর সমাধানটি ব্যবহার করুন
var iframeDocument = iframe.contentDocument || iframe.contentWindow.document;
এমনকি এটি ইন্টারনেট এক্সপ্লোরারেও কাজ করে যা বস্তুর
contentWindow
সম্পত্তির সময় এই কৌশলটি করেiframe
। বেশিরভাগ অন্যান্য ব্রাউজারগুলিcontentDocument
সম্পত্তি ব্যবহার করে এবং এই কারণেই আমরা এই সম্পত্তিটিকে এই ওআর শর্তে প্রমাণ করি। যদি সেট না করা হয় তবে চেষ্টা করুনcontentWindow.document
।
আইফ্রেমে উপাদান নির্বাচন করুন
তারপরে আপনি সাধারণত ডম-এলিমেন্টটি নির্বাচন করতে getElementById()
বা এমনকি এটি querySelectorAll()
থেকে ব্যবহার করতে পারেন iframeDocument
:
if (!iframeDocument) {
throw "iframe couldn't be found in DOM.";
}
var iframeContent = iframeDocument.getElementById('frameBody');
// or
var iframeContent = iframeDocument.querySelectorAll('#frameBody');
Iframe এ কল করুন ফাংশন
কিছু গ্লোবাল ফাংশন, ভেরিয়েবল বা পুরো লাইব্রেরি (উদাহরণস্বরূপ ) কল করতে কেবলমাত্র window
উপাদানটি পান :iframe
jQuery
var iframeWindow = iframe.contentWindow;
// you can even call jQuery or other frameworks
// if it is loaded inside the iframe
iframeContent = iframeWindow.jQuery('#frameBody');
// or
iframeContent = iframeWindow.$('#frameBody');
// or even use any other global variable
iframeWindow.myVar = window.myVar;
// or call a global function
var myVar = iframeWindow.myFunction(param1 /*, ... */);
বিঃদ্রঃ
আপনি যদি একই-উত্স নীতিটি পর্যবেক্ষণ করেন তবে এগুলি সম্ভব ।
document.querySelector('#id_description_iframe').onload = function() {...
সহায়তা করে।
JQuery ব্যবহার করে, এটি চেষ্টা করুন:
$("#id_description_iframe").contents().find("body").html()
এটি আমার পক্ষে পুরোপুরি কার্যকর:
document.getElementById('iframe_id').contentWindow.document.body.innerHTML;
.body
কাজ করে না। যাইহোক .getElementsByTagName('body')[0]
।
আফাইক, কোনও ইফরামকে সেভাবে ব্যবহার করা যায় না। আপনি এর src বৈশিষ্ট্য অন্য পৃষ্ঠায় নির্দেশ করতে হবে।
বিমানের পুরানো জাভাস্ক্রিপ্ট ব্যবহার করে কীভাবে এর শরীরের সামগ্রী পাওয়া যায় তা এখানে। এটি আইই এবং ফায়ারফক্স উভয়ের সাথেই কাজ করে।
function getFrameContents(){
var iFrame = document.getElementById('id_description_iframe');
var iFrameBody;
if ( iFrame.contentDocument )
{ // FF
iFrameBody = iFrame.contentDocument.getElementsByTagName('body')[0];
}
else if ( iFrame.contentWindow )
{ // IE
iFrameBody = iFrame.contentWindow.document.getElementsByTagName('body')[0];
}
alert(iFrameBody.innerHTML);
}
content
জেএসের সাথে আইফ্রেমে ব্যবহার করুন :
document.getElementById('id_iframe').contentWindow.document.write('content');
আমি মনে করি ট্যাগগুলির অভ্যন্তরে পাঠ্যগুলি ব্রাউজারগুলির জন্য সংরক্ষিত আছে যা iframes হ্যান্ডেল করতে পারে না অর্থাৎ ..
<iframe src ="html_intro.asp" width="100%" height="300">
<p>Your browser does not support iframes.</p>
</iframe>
আপনি iframes এইচটিএমএল উত্স সেট করতে 'src' বৈশিষ্ট্যটি ব্যবহার করেন ...
আশা করি যে সাহায্য করবে :)
নিম্নলিখিত কোডটি ক্রস ব্রাউজারের সাথে সামঞ্জস্যপূর্ণ। এটি আই 7, আই 8, এফএক্স 3, সাফারি এবং ক্রোমে কাজ করে, তাই ক্রস ব্রাউজার সমস্যাগুলি হ্যান্ডেল করার দরকার নেই। আই 6 তে পরীক্ষা দেয়নি।
<iframe id="iframeId" name="iframeId">...</iframe>
<script type="text/javascript">
var iframeDoc;
if (window.frames && window.frames.iframeId &&
(iframeDoc = window.frames.iframeId.document)) {
var iframeBody = iframeDoc.body;
var ifromContent = iframeBody.innerHTML;
}
</script>
window.frames.iframeId.document
আমার জন্য অপরিজ্ঞাত (উবুন্টু 13.04, ক্রোম)
চালকিটি সঠিক, আপনার আইফ্রেমে থাকা পৃষ্ঠাটি নির্দিষ্ট করতে আপনাকে src বৈশিষ্ট্যটি ব্যবহার করতে হবে। আপনাকে এটি প্রদান করে এবং আইফ্রেমে নথিটি মূল দস্তাবেজের একই ডোমেনে থাকে, আপনি এটি ব্যবহার করতে পারেন:
var e = document.getElementById("id_description_iframe");
if(e != null) {
alert(e.contentWindow.document.body.innerHTML);
}
স্পষ্টতই আপনি বিষয়বস্তুগুলিকে কেবল একটি সতর্কতার পরিবর্তে রাখার পরিবর্তে দরকারী কিছু করতে পারেন।
জাভাস্ক্রিপ্ট থেকে শরীরের সামগ্রী পেতে, আমি নিম্নলিখিত কোডটি চেষ্টা করেছি:
var frameObj = document.getElementById('id_description_iframe');
var frameContent = frameObj.contentWindow.document.body.innerHTML;
যেখানে "id_description_iframe" হল আপনার iframe এর আইডি। এই কোডটি আমার পক্ষে ভাল কাজ করছে।