2017-10-05 1 views
0

Je veux que le iframe ne charger que lorsque le bouton de charge est pressée.cadre de charge, seulement après avoir cliqué sur sur « Load » bouton

<html> 
    <body> 
     <iframe src="page.html" id="push_frame"> 
Frames are not supported. 
     </iframe> 
     <button id="load_frame"> 
      Load 
     </button> 
    </body> 
</html> 

Habituellement, cela nécessite une sorte de JavaScript à résoudre. Comment puis-je l'implémenter?

+0

S'il vous plaît montrer le javascript requis ou d'autres codes – Jishnuraj

+1

Commencez par un vide 'src', puis attribuer à votre bouton événement click. – Walk

+0

idée @Walk parfaite. Ajoutez le code nécessaire (comme

Répondre

1

J'utiliser jQuery pour spécifier le nouveau attr. Il semble beaucoup plus propre et réduit les lignes de code.

$('#load_frame').on('click', function() { 
    $('#push_frame').attr('src', 'page.html'); 
}); 

J'ai mis un violon travail here.

+0

Excepté toutes ces lignes de code dans la bibliothèque jQuery;) – Walk

1

Utilisez cette

document.getElementById('load_frame').onclick = function() { 

    var iframe = document.createElement('iframe'); 
    iframe.src = 'page.html'; 
    document.body.appendChild(iframe); 

}; 
+0

Je n'ai pas testé ce code, mais l'idée de changer l'attribut src est parfaite, donc j'accepte cette réponse – Jishnuraj

2

Voilà comment je le ferais, stocker votre URL dans data attribut, puis le récupérer dans votre événement de clic.

function loadFrame() { 
 
    var frame = document.getElementById('push_frame'); 
 
    frame.src = frame.dataset.src; 
 
}
<html> 
 

 
<body> 
 
    <iframe data-src="page.html" src="" id="push_frame"> 
 
Frames are not supported. 
 
</iframe> 
 
    <button id="load_frame" onclick="loadFrame()"> 
 
Load 
 
</button> 
 
</body> 
 

 
</html>

+0

assez! J'ai 3 ansers – Jishnuraj

+0

Gave celui-ci un +1 parce que je pense que c'est la réponse la plus élégante. –