請不要將此標記爲重複。我已經嘗試了所有在StackOverflow上建議的方法,並且都沒有工作。他們都給我提到頁面的URL,而不是當前頁面。或者他們根本不工作。即使window.location.href也會返回引用頁面的URL,而不是當前頁面的URL。我正在使用jQuery Mobile 1.4.5。如何在jQuery Mobile 1.4.5中獲取當前頁面的URL?
例如說我在page1.php上,並且我點擊了一個鏈接到page1.php?getvar = 42。第1頁看起來是這樣的:
<!doctype html>
<html>
<head>
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.12.0/jquery.min.js"></script>
<link rel="stylesheet" href="//ajax.googleapis.com/ajax/libs/jquerymobile/1.4.5/jquery.mobile.min.css">
<script src="//ajax.googleapis.com/ajax/libs/jquerymobile/1.4.5/jquery.mobile.min.js"></script>
</head>
<body><div data-role="page" data-dom-cache="false">
<a href="page1.php?getvar=42">Click Here</a>
<?php if ($_GET['getvar']=='42'): ?>
<script>
console.log(window.location.href);
console.log(document.location.href);
console.log($.mobile.activePage.data('url'));
</script>
<?php endif ?>
</div></body></html>
當我點擊頁面上方的鏈接,我看看它在控制檯說。我得到:
http://hostname/page1.php
http://hostname/page1.php
/page1.php
我也試過包裝這些調用CONSOLE.LOG()在一個jQuery的$(document)。就緒()函數的結果沒有改變。
<script>
$(function() {
console.log(window.location.href);
console.log(document.location.href);
console.log($.mobile.activePage.data('url'));
});
</script>
正如你所看到的,這些都不是完整的URL。鏈接到不同的文件時也是如此。所以它不會影響URL上帶有GET變量的頁面。我期待看到/page1.php?getvar=42
我已經找到堆棧溢出的主題,要求這個相同的問題,但沒有答案爲我工作。也許他們正在使用不同版本的jQuery Mobile。正如你所看到的,我正在使用jQuery 1.4.5。
到目前爲止,我發現的唯一解決方案是通過在父容器上放置data-ajax =「false」來關閉jQuery移動頁面的Ajax加載。但是一定有更好的辦法。
(順便說一句,我必須這樣做的原因是爲了讓我可以重新加載當前頁,但目前所有試圖加載當前頁面只是帶我回其提交頁面。這就是爲什麼。)
這將幫助您http://stackoverflow.com/questions/901115/how-can-i-get-query-string-values-in-javascript。您正在查找的內容稱爲查詢字符串。 – ProgrammerV5
查詢字符串未顯示在URL中。那就是問題所在。 – phpguru
那麼你不能得到什麼不在那裏:)你特別說這個「例如說我在page1.php,我點擊了一個鏈接到page1.php?getvar = 42」 – ProgrammerV5