簡體   English   中英

當我轉到另一個頁面而不重新加載時運行Javascript函數

[英]run Javascript function when I go to another page without reload


我是JS的超級新手,所以也許問題是超級愚蠢的。
我得到了這個在每個頁面都正確啟動的JS。 但在某些情況下,在本博客中,當我轉到<mysite.com/page/2>時,我想運行相同的腳本,其中頁面沒有重新加載,只有內容發生了變化。
我想我應該在eventlistners中使用類似“hashchange”的東西但是不起作用,因為它不是哈希。 我不希望在一定時間后運行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>";
}
};

http://www.filmidee.it/screening/

根據這個問題,您必須使用稍微不同的語法: 如何檢測JavaScript中的URL更改

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>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM