2015-03-03 42 views
-1

我正在使用JavaScript來加載我想要的路徑,我想在更改網址後執行一些代碼。這是我的簡單代碼。更改後的網址做些什麼

$(".addfr").click(function(){ 
    var pathname = window.location.pathname; 

    if ((pathname == "/index.php") || (pathname == "/")) { 
     $("#tabbtn3").trigger("click"); 
     $('html, body').animate({ 
     scrollTop: $(".sideBaricons").offset().top 
     }, 600); 
    } 
    else{ 
     window.location.href = '/index.php'; 
     $("#tabbtn3").trigger("click"); 
     $('html, body').animate({ 
     scrollTop: $(".sideBaricons").offset().top 
     }, 600); 
    } 

}); 

當我點擊.addfr,當我在index.php我重定向到index.php我不是,我想專注特定的元素之後。但是會發生什麼,我的代碼重定向並專注於我的上一頁,而不是頁面加載後。

提前感謝您的幫助。

+3

你應該如何在另一個頁面中執行你的腳本的一部分? – 2015-03-03 10:30:41

+1

嗯..我在這裏聞到一些設計缺陷..你應該考慮分析你的設計。將瀏覽器重定向到其他頁面後,在當前頁面中編寫腳本有什麼意義? – 2015-03-03 10:37:16

+0

...和複製代碼... – nicom974 2015-03-03 10:42:21

回答

-1

的總體目標,你可以重定向後並在文件準備設置index.php頁面內的焦點

承擔我的代碼

看看傳遞參數
$(function() { 
    var url= window.location.href; 
    if (url.indexOf('setFocus=true') > 0) { 
     $("#tabbtn3").trigger("click"); 
     $('html, body').animate({ 
      scrollTop: $(".sideBaricons").offset().top 
     }, 600); 
    } 
}); 
$(".addfr").click(function() { 
    var pathname = window.location.pathname; 
    if ((pathname == "/index.php") || (pathname == "/")) { 
     $("#tabbtn3").trigger("click"); 
     $('html, body').animate({ 
      scrollTop: $(".sideBaricons").offset().top 
     }, 600); 
    } else { 
     window.location.href = '/index.php?setFocus=true'; 
    } 
}); 
+0

感謝這段代碼。我已經試過了。但是代碼在重定向到index.php時不會執行?setFocus = true – 2015-03-03 10:41:55

+0

var url = window.location.href;我解決了一個問題,網址應該是window.location.href;此功能應該在index.php – 2015-03-03 10:43:27

+0

這段代碼中救了我。感謝這一點。給大家,感謝讓我知道每次它加載頁面我刷新前面的腳本。 – 2015-03-03 10:55:23

2

如果您更改window.location.href您將獲得全新的瀏覽器上下文(就像刷新刷新一樣)。此更改後無法執行任何代碼。這項工作的選項大多侷限於將所需的代碼添加到您將用戶重定向到的頁面或使用一些相當複雜的工作,即稱爲History API

+0

這應該是答案。歷史API是要走的路。 +1 – nicom974 2015-03-03 10:39:25

0

將URL設置爲新頁面會丟棄所有正在運行的代碼。

一個選項:您可以將其他頁面的內容加載到當前頁面,例如,使用Ajax調用,如果你想讓你的代碼保持存在(而不僅僅是改變瀏覽器的URL)。

注意:雖然需要這樣的設計,但設計看起來很不妥。最好的,你說出你的網頁:)