button javascript works on IE but not firefox window.navigate()

<input type="button" value="Back" onClick="window.navigate('http://www.google.com')">

This works on IE8, but not firefox or opera. Anyone know why and how to fix it?

Answers:

Answer

If you check the documentation for that method, you will see the quite common:

There is no public standard that applies to this method.

This means that it's a non-standard feature that most likely only works in Internet Explorer.

This will work:

<input type="button" value="Back" onclick="window.location.href='http://www.google.com';">

If you are using XHTML:

<input type="button" value="Back" onclick="window.location.href='http://www.google.com';" />
Answer

.navigate() only works in IE.

Try setting the window.location.

window.location.href = 'http://www.google.com'
Answer
<a href="http://www.google.com">Google</a>

… and "back" is a poor choice of link text. Either a link or your IE specific JS will take the user forward. It will add a URL to the end of the user's history. It won't activate the browser's Forward functionality.

Answer
<input type='button' value='click' onclick="window.location='http://google.com';" />
Answer

For searchers on this problem: Ensure your input not post to current page like sumbit. In this case any navigate methods will not work. To fix this add event.preventDefault() on click handler

Answer

window.navigate is a non-standard Internet Explorer feature. Other browsers simply don't provide the function.

You could shim it with:

if (! window.navigate) {
    window.navigate = function (arg) {
    location.assign(arg);
   } 
}  

… but your code would be better if you just rewrote it to use standard methods (i.e. the location object) in the first place.

Reference: https://stackoverflow.com/a/28793432/6737444

Tags

Recent Questions

Top Questions

Home Tags Terms of Service Privacy Policy DMCA Contact Us

©2020 All rights reserved.