我是JS的超级新手,所以也许这个问题非常愚蠢
我得到了这个在每个页面都正确启动的JS。但在某些情况下,在这篇博客中,我想在去往< mysite.com/page/2>页面未重新加载但只更改内容的位置。
我想我应该使用" hashchange"在eventlistners但不工作,原因不是哈希。
我不想在经过一段时间后运行JS,原因是一个肮脏的解决方案,我无法改变代码原因是一个wordpress模板,我只能通过JS编辑它。
有什么建议吗?
我尝试了一切,在事件参数:滚动,加载,更改,但没有任何工作,请给我建议。 :(
document.addEventListener("DOMContentLoaded", addStuff);
document.addEventListener("hashchange", addStuff); //<--- THIS IS NOT WORKING
function addStuff()
{
var x = document.getElementsByClassName("t-entry-cf-detail-106360");
var i;
for (i = 0; i < x.length; i++) {
x[i].innerHTML = "<a href='http://www.filmidee.it/tag/" + x[i].innerHTML.replace(/\s+/g, '-') + "'>" + x[i].innerHTML + "</a>";
}
};
答案 0 :(得分:0)
根据这个问题,您必须使用稍微不同的语法:How to detect URL change in JavaScript
window.onhashchange = addStuff;
一个工作示例:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width">
<script type="text/javascript">
document.addEventListener("DOMContentLoaded", addStuff);
window.onhashchange = addStuff;
function addStuff()
{
console.log("called addStuff");
}
function processClick(){
location.hash="myValue";
}
</script>
</head>
<body>
<button onclick="processClick();"></button>
</body>
</html>