Changing The Content Of Meta Refresh Does Not Change Refreshing Time
Solution 1:
This happens because the browser immediately process the <meta>
tag when it is present onload.
See DEMO.
When the document is being loaded, the browser sees and processes the following:
<meta name="mymeta" http-equiv="refresh" content="2" id="myMeta"/>
Even though you try to change its content from 2 to 10, that 2 second refresh is already acknowledged and the browser waits for 2 seconds before it refreshes the page. The 10-second refresh that is injected by JavaScript actually works*, although the page has been refreshed by the time it reaches 2 seconds and nothing seems to happen. This process is then repeated again and again.
Try the opposite and see what happens.
Solution 2:
The getElementsByTagName
method returns a NodeList
so you need to specify an index to correctly access the element:
var myMeta = document.getElementsByTagName("meta")[0];
As someone mentioned this will probably still not work as the meta
tag will need to be re-appended to have the desired effect.
Since you're using JavaScript you can just use setTimeout
to achieve the same behavior
setTimeout(function() {
location.reload();
},2000); // reload page after 2 seconds
Post a Comment for "Changing The Content Of Meta Refresh Does Not Change Refreshing Time"