javascript href清除IE页面

时间:2019-03-06 10:10:25

标签: javascript internet-explorer

我有以下html。 当我单击IE中的链接时,它会将返回值转储到空白页上。 在chrome中,它只是在不触摸页面的情况下运行该功能。 在这方面,可以做些什么使IE像chrome一样运行?

<html>
<body>
<script type="text/javascript">
function foo(){
  return true;
}
</script>
<a title="call foo" href="javascript:foo()">return true</a>
</body>
</html>

3 个答案:

答案 0 :(得分:0)

javascript:方案URL的意义在于,它运行一些代码,该代码会生成一些数据,然后浏览器会导航到这些数据。

如果您只想在单击某些内容时运行一些JS:不要使用链接。

使用正确的工具进行工作。

function foo(){
  return true;
}

document.querySelector("button").addEventListener("click", foo);
<button title="call foo">return true</a>

答案 1 :(得分:0)

<html>
<body>
<script type="text/javascript">
function foo(){
  event.preventDefault();
  return true;
}
</script>
<a title="call foo" href="javascript:foo()">return true</a>
</body>
</html>

答案 2 :(得分:0)

您可以使用event.preventDefault()方法来防止click事件中的超链接默认事件。像这样:

<script type="text/javascript">
    function foo(e) {
        event.preventDefault();
        ////get the href attribute.   
        //var href = document.getElementById("btn").getAttribute("href");
        ////display the page. You could also using "window.open(href)" to open a new tab to display the page.
        //window.location = href;
        return true;
    }
</script>
<a title="call foo" id="btn" href="https://www.google.com/" onclick="foo(this);">return true</a>