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

后端 未结 6 1897
无人及你
无人及你 2020-12-07 03:29

This works on IE8, but not firefox or opera. An

相关标签:
6条回答
  • 2020-12-07 03:42

    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

    0 讨论(0)
  • 2020-12-07 03:45
    <input type='button' value='click' onclick="window.location='http://google.com';" />
    
    0 讨论(0)
  • 2020-12-07 03:53

    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';" />
    
    0 讨论(0)
  • 2020-12-07 03:57
    <a href="http://www.google.com">Google</a>
    
    • links want to be links
    • links afford navigation, buttons afford actions. This is navigation
    • depending on JS is a bad idea

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

    0 讨论(0)
  • 2020-12-07 03:57

    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

    0 讨论(0)
  • 2020-12-07 04:00

    .navigate() only works in IE.

    Try setting the window.location.

    window.location.href = 'http://www.google.com'
    
    0 讨论(0)
提交回复
热议问题