Comment définir la source de vue sur plusieurs cadres HTML dans une seule source de vue
-
21-12-2019 - |
Question
J'ai trois cadres dans une page HTML à cadre unique.quand j'ai vu la source d'affichage de la page ressembler à ci-dessous
<HTML>
<HEAD>
<TITLE>A simple frameset document</TITLE>
</HEAD>
<FRAMESET cols="20%, 80%">
<FRAMESET rows="100, 200">
<FRAME src="contents_of_frame1.html">
<FRAME src="contents_of_frame2.html">
</FRAMESET>
<FRAME src="contents_of_frame3.html">
</FRAMESET>
</HTML>
mais je m'attends à ce que je souhaite afficher la source entière du cadre sur une seule page en utilisant javascript.merci
La solution
Vous aimez ce bookmarklet ?
Note:
- J'utilise XMP, il est obsolète mais devrait fonctionner sur la plupart des navigateurs
- il tentera d'ouvrir une nouvelle fenêtre alors autorisez-le
- il suppose que le contenu du cadre a
<HTML>
Mots clés - collez le script dans l'URL d'un signet et exécutez le signet sur la page
- Testé dans Chrome sous Windows
javascript:(function() {
var htmlContent=[];
for (var i=0;i<window.frames.length;i++) {
var fr = window.frames[i], doc=fr.contentDocument || fr.document;
htmlContent.push(doc.getElementsByTagName("HTML")[0].innerHTML);
}
var w=window.open('');
for (var i=0;i<htmlContent.length;i++) {
w.document.write('Frame '+i+':<hr/><xm'+'p>'+htmlContent[i]+'</xmp><hr/>')
}
w.document.close();
})()
Tester avec ce HTML
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<title>Demo by mplungjan</title>
<script type='text/javascript'>
var contents_of_frame1 = '<html><head><title>Frame1</title><script>alert("frame 1")<\/script></head><body>Frame1</body></html>';
var contents_of_frame2 = '<html><head><title>Frame2</title><script>alert("frame 2")<\/script></head><body>Frame 2</body></html>';
var contents_of_frame3 = '<html><head><title>Frame3</title><script>alert("frame 3")<\/script></head><body>Frame 3</body></html>';
</script>
</head>
<FRAMESET cols="20%, 80%">
<FRAMESET rows="100, 200">
<FRAME src="javascript:top.contents_of_frame1" />
<FRAME src="javascript:top.contents_of_frame2" />
</FRAMESET>
<FRAME src="javascript:top.contents_of_frame3" />
</FRAMESET>
</html>
J'obtiens cette sortie
Image 0 :
<head><title>Frame1</title><script>alert("frame 1")</script></head><body>Frame1</body>
Cadre 1 :
<head><title>Frame2</title><script>alert("frame 2")</script></head><body>Frame 2</body>
Cadre 2 :
<head><title>Frame3</title><script>alert("frame 3")</script></head><body>Frame 3</body>
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow