firefox javascript在href中返回false会重定向浏览器并显示false

Jay*_*ran 7 javascript firefox

以下是我的代码在chrome中运行良好.

<body>

<a href="javascript: sam.save();">hehe</a>

<script>

var sam = {
    save : function()
    {
        alert("here")
            return false;       
    }
}
</script>
Run Code Online (Sandbox Code Playgroud)

当在firefox中运行时,页面重定向,并且屏幕上显示false,其中包含图片中的地址栏内容

在此输入图像描述

firefox版本是9.0.1

建议和规避请...

boa*_*eng 7

由于某种原因,返回false在href ="javascript:"内的FF中不起作用,但是void(0)确实如此.

<a href="javascript: sam.save();void(0);">hehe</a>
Run Code Online (Sandbox Code Playgroud)


Lee*_*Lee 5

<a href="#" onclick="sam.save();">hehe</a>
Run Code Online (Sandbox Code Playgroud)


Bor*_*sky 5

您引用的代码不可能产生您观察到的行为.观察到的行为只会在sam.save()返回时发生false,而引用的代码将返回undefined.您的实际完整代码是什么样的?

编辑:有用的答案在评论中.我把它放在这里,以便更容易找到.

哦,我在警报后错过了"返回假".在这种情况下,您看到的行为是正确的:如果javascript:execution返回未定义的值,则将该值视为HTML字符串并进行呈现.至少在大多数浏览器中. - 鲍里斯Zbarsky 11月11日15:25

  • 哦,我在警报后错过了"返回假".在这种情况下,您看到的行为是正确的:如果javascript:execution返回"undefined"以外的值,则该值被视为HTML字符串并呈现.至少在大多数浏览器中. (2认同)