带有location.href和document.referrer的Html按钮

时间:2014-02-12 21:57:44

标签: javascript html location href referrer

我正在尝试做这项工作

<script>
document.write('<button onclick="location.href=' + document.referrer + '">Go back</button>');
</script>

它应该只是一个简单的“后退”按钮到预览页面。 当我这样做“a href”时,它可以工作

<script>
    document.write('<a href="' + document.referrer + '">Go back</a>');
</script>

但是当尝试将它作为“按钮”时它会失败。按钮在那里,但没有导航到预先设置的页面

3 个答案:

答案 0 :(得分:4)

将另一个转义引号添加到href正文中(以及最后的分号,虽然我不知道这是否会产生影响)并查看是否有效......

<script>
document.write('<button onclick="location.href=\'' + document.referrer + '\';">Go back</button>');
</script>

答案 1 :(得分:3)

您还可以使用以下方式实现本地回复:

window.history.back();
//in your onclick="history.back()"
//also can try with:
//javascript:history.go(-1)">

或者调用一个函数检查history.back()是否在浏览器中可用,否则实现自定义后退函数/代码,如此处所示(我更喜欢从html中取出代码,只需处理我的onclick)功能)

Using javascript history.back() fails in Safari .. how do I make it cross-browser?

对于强大的解决方案,请检查history.js:

https://github.com/browserstate/history.js

答案 2 :(得分:2)

你错过了href中URL的引号,所以请尝试像这样转义它(对我有用)

document.write('<button onclick="location.href=\'' + document.referrer + '\'">Go back</button>');