是否有一种无插件的方式通过jQuery(或没有)检索查询字符串值?
如果是这样,怎么样?如果没有,是否有插件可以这样做?
寻找一种方法,使用JavaScript/JQuery将URL的哈希/片段中的密钥对解析为对象/关联数组
如何在哈希后获取带有内容的网址?
window.location返回没有哈希的url:/
例如:
www.mystore.com#PRODID = 1
window.location仅返回www.mystore.com
本文提出了一个非常有说服力的论点,因为URL是长期存在的(它们被加入书签并传递),它们应该是有意义的,并且使用哈希进行实际路由(确定页面上显示的数据和/或状态)因此,不适当的.当我尝试在我的单页应用程序中实际执行此操作时,我遇到了一个问题:如何渲染我的链接以便所有浏览器都可以使用该应用程序?我认为,有三种选择:
href
都有一个#/
前缀.这在HTML4浏览器中非常有用.在HTML5浏览器中,我可以添加一个重定向到无哈希版本的Sammy路由,这也很有用.浏览器将链接标记为已访问时可能存在问题,因为它们不是标记或未标记它们.另一个问题是它错了.通过右键单击并选择"复制链接URL"来共享链接的任何人都将发送一个工作但很糟糕的URL.href
■找一个#/
前缀.据我所知,HTML4浏览器无法拦截这些链接点击,这意味着每个浏览器都会导致页面刷新.虽然应用程序可能会仍然起作用,因为我可以用萨米路线改写hashless版本hashy在页面加载的,页面加载会杀单页应用程序的性能.#/
.这意味着我的所有链接都必须具有动态标记,并使应用程序大大复杂化.我从数据库获取数据并使用jquery选项卡显示它:
<script>
$(function () {
$( "#treeTabs" ).tabs();
});
</script>
<div id="treeTabs">
<ul>
<?php
$hod_result = getFamilyTree();
$i = 0;
while($hod_row = mysqli_fetch_array($hod_result))
{
?>
<li>
<a href="#<?php echo $hod_row["staff_id"]?>" class="tab_header"><span class="closer" data-id3="<?php echo $hod_row["staff_id"] ?>"><i class="fa fa-times" aria-hidden="true"></i></span><?php echo $hod_row["longname"].' ('.$hod_row["team_role"].')' ?></a>
</li>
<?php $i++;} ?>
</ul>
<?php
$hod_result_tabs = getFamilyTree();
$i_tabs = 0;
while($hod_row_tabs = mysqli_fetch_array($hod_result_tabs))
{
?>
<div id="<?php echo $hod_row_tabs["staff_id"]?>">
<div class="tree" id="<?php echo $hod_row_tabs["staff_id"]?>">
<ul>
<li>
<?php
$hod_id_list = $hod_row_tabs["staff_id"];
$sv_result_list= getSupervisorRole($hod_id_list);
?>
<a href="#"> …
Run Code Online (Sandbox Code Playgroud) 如何在纯JavaScript中获取和设置URL哈希参数?
例如,我想使用这样的参数: myurl.com/#from=2012-01-05&to=2013-01-01
我希望能够获得并设置上面的from
和to
参数.
我很高兴使用HTML5历史记录API,如果这是最好的做事方式.
我正在制作一个倾向于在一个页面中处理所有请求的网站(Ajax).所以我认为我可以捕获每个用户点击一个链接,并检查如果它在我的网站上我做了一些关于JavaScript的事情,比如ajax请求,例如,ELSE它会像往常一样打开链接!
在window.location上做一个手表没有用!而且我不知道是否还有#符号之后的url部分.注意:无论使用Gmail和Facebook做,我猜!他们使用的是这样的:
http://mail.google.com/mail/ #inbox
http://www.facebook.com/home.php #/收件箱/ ?REF = MB
请考虑一下:我喜欢在我的项目中使用jQuery,所以任何使用它的解决方案都是首选.
有任何想法吗?
有什么方法可以在用户打开网址时使用它http://www.website.com/page/#delete-page
,如果该网页有一个具有相同ID的twitter引导模式,delete-page
它应该立即打开.
所以从理论上讲,用户打开网址,页面加载并在成功加载模式后打开(如果不存在则会发生,如果不存在则没有任何反应)
类似于SO,我想为评论添加锚点,页面加载后,我希望页面做一些javascript(突出显示,滚动等-我可以自己写)
所以如果我的网址是
www.mywebapp.com/mypost#45625
Run Code Online (Sandbox Code Playgroud)
我希望javascript滚动到具有id的div 45625
并在那里做我自己的javascript。
我该如何写条件以开始执行我的JavaScript,以便仅在存在achor的情况下才起作用?
javascript ×8
jquery ×5
url ×4
ajax ×1
anchor ×1
hash ×1
html ×1
html5 ×1
modal-dialog ×1
plugins ×1
query-string ×1
singlepage ×1
uri-fragment ×1