我正在尋找一種方式來在用戶想要更改頁面時重寫位置的URL。所以,讓我們說,你有這樣的事情:在位置更改上重寫URL
<body>
<a href="http://example.com" />
</body>
有沒有一種方法可以讓我趕上URL變化的時刻,位置改變之前實際修改URL,比如我想HREF變成像相對鏈接\http://example.com
和實際在那裏重定向頁面。
我正在尋找一種方式來在用戶想要更改頁面時重寫位置的URL。所以,讓我們說,你有這樣的事情:在位置更改上重寫URL
<body>
<a href="http://example.com" />
</body>
有沒有一種方法可以讓我趕上URL變化的時刻,位置改變之前實際修改URL,比如我想HREF變成像相對鏈接\http://example.com
和實際在那裏重定向頁面。
如果你只是想陷阱的鏈接,然後修改它,然後是的,這很簡單...
$("a").on("click", function(e) {
e.preventDefault(); // stops the link doing its default thing
window.location.href = "something/" + $(this).attr("href");
});
你顯然需要修改的位置發生變化的線條,使得它修改HREF價值,但你需要。我還建議給鏈接一個類並選擇它們,因爲上面的代碼會影響頁面上的每個鏈接。
最後,這將需要在DOM加載後運行,因此要麼將它包裝在您選擇的document.ready
處理程序中,要麼將其放在主體底部的腳本中。
您可以從這裏工作。此外,您需要在htaccess中使用urlrewrite才能正常工作。
$(function() {
$('.buttonn').on('click', function (e) {
var seperator = (window.location.href.indexOf("?") === -1) ? "?" : "&";
if (window.location.href.indexOf("s1") === -1 && window.location.href.indexOf("s2") != -1) {
window.location.href = window.location.href.replace(/&?s2=([^&]$|[^&]*)/i, "&s1=s1");
} else if (window.location.href.indexOf("s1") != -1) {
window.location.href = window.location.href.replace(/&?s1=([^&]$|[^&]*)/i, "&s1=s1");
} else {
window.location.href = window.location.href + seperator + "s1=s1";
}
});
});
$(function() {
$('.buttono').on('click', function (e) {
var seperator = (window.location.href.indexOf("?") === -1) ? "?" : "&";
if (window.location.href.indexOf("s2") === -1 && window.location.href.indexOf("s1") != -1) {
window.location.href = window.location.href.replace(/&?s1=([^&]$|[^&]*)/i, "&s2=s2");
} else if (window.location.href.indexOf("s2") != -1) {
window.location.href = window.location.href.replace(/&?s2=([^&]$|[^&]*)/i, "&s2=s2");
} else {
window.location.href = window.location.href + seperator + "s2=s2";
}
});
});
對不起,我不清楚。我實際上需要檢測document.location何時發生更改,其中不僅包括元素,還包括手動javascript。 onbeforeunload事件處理程序將檢測位置變化,但我不知道如何獲取它應該去的URL,你有什麼想法嗎? – Zed 2014-11-06 12:02:25
在這種情況下,沒有。我不知道有什麼方法(使用Javascript)每次都沒有確認框改變目標URL(使用onbeforeunload)。 – Archer 2014-11-06 12:10:53
似乎無法完成。無論如何,謝謝你,這段代碼也會幫助我。 – Zed 2014-11-06 12:12:23