Ian McCullough
Ian McCullough

Reputation: 1443

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?

Upvotes: 6

Views: 8910

Answers (6)

Ali Jamal
Ali Jamal

Reputation: 1569

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

Upvotes: 0

gdbdable
gdbdable

Reputation: 4501

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

Upvotes: 0

Quentin
Quentin

Reputation: 943935

<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.

Upvotes: 2

Brandon
Brandon

Reputation: 70002

.navigate() only works in IE.

Try setting the window.location.

window.location.href = 'http://www.google.com'

Upvotes: 5

Your Friend Ken
Your Friend Ken

Reputation: 8872

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

Upvotes: 0

Guffa
Guffa

Reputation: 700552

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';" />

Upvotes: 10

Related Questions