Anda dapat melakukannya dengan URL data. Ini mencakup seluruh dokumen dalam satu string HTML. Misalnya, HTML berikut:
<html><body>foo</body></html>
dapat dikodekan seperti ini:
data:text/html;charset=utf-8,%3Chtml%3E%3Cbody%3Efoo%3C/body%3E%3C/html%3E
dan kemudian ditetapkan sebagai src
atribut iframe. Contoh .
Sunting: Alternatif lain adalah melakukan ini dengan Javascript. Ini hampir pasti teknik yang akan saya pilih. Anda tidak dapat menjamin berapa lama URL data yang akan diterima browser. Teknik Javascript akan terlihat seperti ini:
var iframe = document.getElementById('foo'),
iframedoc = iframe.contentDocument || iframe.contentWindow.document;
iframedoc.body.innerHTML = 'Hello world';
Contoh
Sunting 2 (Desember 2017) : gunakan atribut srcdoc Html5 , seperti dalam jawaban Saurabh Chandra Patel , yang sekarang seharusnya menjadi jawaban yang diterima! Jika Anda dapat mendeteksi IE / Edge secara efisien , tipnya adalah menggunakan pustaka srcdoc-polyfill hanya untuk mereka dan atribut srcdoc "murni" di semua browser non-IE / Edge (periksa caniuse.com untuk memastikan).
<iframe srcdoc="<html><body>Hello, <b>world</b>.</body></html>"></iframe>
Blocked a frame with origin "http://localhost" from accessing a cross-origin frame
.innerHTML
browser tidak akan mengeksekusi tag skrip turunan. Untuk informasi lebih lanjut, periksa bagian Pertimbangan keamanan dari halaman MDN Element.innerHTML.gunakan
html5
atribut barusrcdoc
(srcdoc-polyfill) DocsDukungan browser - Diuji di browser berikut:
sumber
Menurut W3Schools, HTML 5 memungkinkan Anda melakukan ini menggunakan atribut "srcdoc" baru , tetapi dukungan browser tampaknya sangat terbatas.
sumber