我們有一個用於手機的SPA html5網頁。由於詳細信息頁面是在#後面設置的,因此我希望將用戶在共享按鈕中單擊時發送的URL更改爲#之前的更多信息。這樣,我改變的說明,標題,等等...的修改手機分享按鈕中的網址
例子我想:
網址在瀏覽器中:URL /#ID = 1
網址發送到「共享「:url?id = 1
你現在有辦法嗎?但我不想向服務器發出另一個請求。
在此先感謝。
我們有一個用於手機的SPA html5網頁。由於詳細信息頁面是在#後面設置的,因此我希望將用戶在共享按鈕中單擊時發送的URL更改爲#之前的更多信息。這樣,我改變的說明,標題,等等...的修改手機分享按鈕中的網址
例子我想:
網址在瀏覽器中:URL /#ID = 1
網址發送到「共享「:url?id = 1
你現在有辦法嗎?但我不想向服務器發出另一個請求。
在此先感謝。
我希望我明白你想要什麼:你想抓住當前的網址並修改它,對吧?如果是這樣,那麼下一步:
打開此js小提琴http://jsfiddle.net/6Yf3r/。
小提琴代碼
$(document).ready(function(){
var currentUrl = window.location.href;
var newUrl = currentUrl.replace('/_','?');
alert(currentUrl);
alert(newUrl);
});
忽略前兩個警報,然後單擊運行。看看這兩個警報中的URL發生了什麼?您現在可以使用此代碼,並將其修改爲.replace('/#','?');
。該功能將在您的URL中找到/#
部分,並將其替換爲?
。現在,您將所需的URL作爲字符串,只需在分享按鈕的正確位置使用該新網址即可。
感謝您的答案。但我有一個問題,那就是發送另一個請求到服務器,不是嗎?我不想那 –
沒有其他請求到服務器。頁面加載後,服務器可能會休息。在點擊事件時,URL會得到#someid前綴,然後您將使用JavaScript/jQuery完成剩下的工作:獲取當前url,將其當作字符串,將其替換爲另一個字符,將新字符串傳遞給共享按鈕。打開控制檯,你會發現所有的服務器請求。 –
嗨,https://developer.mozilla.org/en-US/docs/Web/API/document.location - throw'var _id = document.location.hash; alert(_id);'進入你的代碼。你有你需要的嗎? –
我想修改它只是爲了按鈕,而不是在瀏覽器的url地方,因爲這會觸發另一個請求到服務器。 –
它已被問及在這裏得到很好的回答: http://stackoverflow.com/questions/824349/modify-the-url-without-reloading-the-page –