web-dev-qa-db-fra.com

Activer l'actualisation pour des éléments HTML spécifiques uniquement

J'aimerais savoir comment je ne peux actualiser qu'un élément spécifique de mon site Web au lieu de la totalité de la page Web. L'élément dont je parle est une application flash qui se charge très lentement et peut rencontrer des délais de connexion. Je veux permettre à l'utilisateur d'actualiser uniquement cet élément/application falsh. Comment je fais ça? Ci-dessous, j'ai une fonction Ajax qui met à jour un élément HTML, mais je ne sais pas comment l'appliquer à ma situation.

<head>
    <script type="text/javascript">
        function loadXMLDoc() {
            var xmlhttp;
            if (window.XMLHttpRequest) { // code for IE7+, Firefox, Chrome, Opera, Safari
                xmlhttp = new XMLHttpRequest();
            } else { // code for IE6, IE5
                xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
            }
            xmlhttp.onreadystatechange = function () {
                if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
                    document.getElementById("myDiv").innerHTML = xmlhttp.responseText;
                }
            }
            xmlhttp.open("GET", "ajax_info.txt", true);
            xmlhttp.send();
        }
    </script>
</head>
<body>
    <div id="myDiv">
        <h2>Let AJAX change this text</h2>
    </div>
    <button type="button" onclick="loadXMLDoc()">Change Content</button>
</body>
6
Dexter Schneider

Essaye ça:

function reload(){
    var container = document.getElementById("yourDiv");
    var content = container.innerHTML;
    container.innerHTML= content; 
    
   //this line is to watch the result in console , you can remove it later	
    console.log("Refreshed"); 
}
<a href="javascript: reload()">Click to Reload</a>
    <div id="yourDiv">The content that you want to refresh/reload</div>

Esperons que ça marche. Faites le moi savoir

15
DextrousDave

Essayez de créer une fonction javascript qui lance ceci:

document.getElementById("youriframeid").contentWindow.location.reload(true);

Ou peut-être utiliser une solution de contournement HTML:

<html>
<body>
<center>
      <a href="pagename.htm" target="middle">Refresh iframe</a>
      <p>
        <iframe src="pagename.htm" name="middle">
      </p>
</center>
</body>
</html>

Les deux pourraient être ce que vous cherchez ...

1
JudeJitsu

essayez de vider votre innerHtml à chaque fois. comme ceci:

Element.innerHtml="";

0
omarbelguith