我正在使用这个插件:
http://plugins.jquery.com/project/history
在本页面:
http://www.crtaci.info/index.php?autocom=majice
我不知道为什么,但似乎我无法弄清楚如何让这个工作...猜猜我需要更多的睡眠...... :)
有人在SO告诉我,url中的哈希值(#)可以通过php函数parse_url检索吗?这是真的?
我的网站有很多ajax效果,我希望能够将带有哈希的url传递给index.php,以便它可以根据哈希值显示信息.
例如.如果用户在我的网站上点击并导航并且他找到了他想要分享的东西,那么他可以复制该地址并将其发送给他的朋友,当这个人进入时,他看到同样的事情.
我已经尝试使用javascript来保存cookie中的哈希值,但这并不适用于Firefox,而且它在safari中的速度太慢(html会先显示,所以必须第二次刷新页面才能显示正确的内容).
欢迎任何其他解决方案
编辑:我非常困惑..如果我使用parse_url我必须在php中输入网址来获取哈希?那么有什么意义......我的问题是我的朋友是否可以使用#值输入网址并且php可以处理它?这似乎是不,我是对的吗?
我有一个Web应用程序,它广泛使用片段标识符来处理"状态".
examplesite.com/#$mode=direct$aa;map=t;time=2003;vid=4;vid=7
Run Code Online (Sandbox Code Playgroud)
一些问题:
1)将各种"location.hash name value-pairs"分配给变量以跟踪状态的好方法是什么?
1a)我应该创建一个跟踪js状态的对象,还是为每个名称值对声明全局变量?
1b)是否有任何好的jquery插件来简化这个?
1c)如果我想跟踪一个叫做"颜色"的东西 - 它是否应该随时附加到片段(#)上,以及检查它是否被定义的正确方法是什么; 以下代码可以改进吗?
var color;
var hashString = location.hash;
var nvPairs = hashString.split(";");
var nvPair = new Array();
for (i = 0; i < nvPairs.length; i++)
{
var keyValuePair = nvPairs[i].split("=");
nvPair[keyValuePair[0]] = keyValuePair[1];
}
if (nvPair['color']) color = nvPair['color'];
Run Code Online (Sandbox Code Playgroud)
1d)由于一些名称被使用了两次(上例中的"vid") - 我怎样才能轻松存储它们是单独的变量?
2)我想要特别注意4种不同的"哈希":
examplesite.com/ (无哈希)
examplesite.com/#example=5 (包含"example")
examplesite.com/#time=2003;vid=4;vid=7;modified=5 (包含"已修改")
examplesite. com/#time = 2003; vid = 4; vid = 7 (不包含"modified"或"example")
如何在应用程序加载并检查上述条件时编写一个从哈希中提取变量的控制结构?
3)如何存储先前的状态以及如何在按下后退按钮时触发状态改变?
如何使用AJAX"书签"页面或内容?
如果我们只是将细节添加到"锚点",然后使用路由甚至在PHP代码或Ruby on Rails的route.rb中捕获该部分,然后显示内容或页面,看起来很容易因此?(显示整页或部分内容)
那么它可以很简单吗?看起来这就是facebook的做法.有什么其他好办法吗?
我正在使用以下代码将浏览器打开到网页的特定部分:
Intent browserIntent = new Intent(Intent.ACTION_VIEW, Uri.parse("http://something.somewhere.com/baggage_fees.html#_" + twoLetterCode;
startActivity(Intent.createChooser(browserIntent, "Select browser:"));
Run Code Online (Sandbox Code Playgroud)
所以它在浏览器中加载页面,但只停留在页面的右侧一瞬间,然后它跳回到页面的最顶层(页面非常长).为什么这样做,我该如何解决?
非常感谢.
我正在开发一个基于ajax的网站,我想在加载的内容中包含一个FB共享功能.链接使用哈希标记,我无法设法在使用共享功能时显示完整链接,我只获取域网址.是不允许哈希标签还是有共享此类链接的特殊方法?
在互联网上进行一些挖掘之后,我无法找到一个很好的答案,我可以使用哪些字符用于URL片段.我正在编写一个利用URL片段的javascript脚本.
我希望通过不让它看起来太复杂来使URL对眼睛友好.所以我想知道我是否可以使用像':,?,&或'这样的字符.在URL片段中仍然有效.
我的URL片段应包含以下值:
我想确保我获得的URL window.location尚未包含特定的片段标识符.如果是的话,我必须删除它.所以我必须搜索URL,找到以#开头的字符串,mp-并一直持续到结束URL或下一个URL #(以防万一URL包含多个片段标识符).
www.site.com/#mp-1 --> www.site.com/
www.site.com#mp-1 --> www.site.com
www.site.com/#mp-1#pic --> www.site.com/#pic
Run Code Online (Sandbox Code Playgroud)
(这显然不能正常工作)
var url = window.location;
if(url.toLowerCase().indexOf("#mp-") >= 0){
var imgString = url.substring(url.indexOf('#mp-') + 4,url.indexOf('#'));
console.log(imgString);
}
Run Code Online (Sandbox Code Playgroud)
知道怎么做吗?
我正在研究ROR网络应用程序.我的网页网址如下所示 -
http://dev.ibiza.jp:3000/facebook/report?advertiser_id=2102#/dashboard
Run Code Online (Sandbox Code Playgroud)
在这里我理解advertiser_id是2102但我无法理解#/ dashboard指向的是什么?
我正在开发一个onHashChange在某些情况下使用事件监听器的Web应用程序,并且手动点击链接时href="#hash"效果非常好.但是当我触发时,使用jQuery点击相同的链接$('a[href=#"hash"]').trigger('click')或$('a[href=#"hash"]').click()地址栏中的哈希不会改变.
这是我做错了吗?或者我为此目的使用另一种方法?
HTML
<a href="#hash">Do Something</a>
Run Code Online (Sandbox Code Playgroud)
JS
// Not working
$('a[href="#hash"]').click();
// Not working
$('a[href="#hash"]').trigger('click');
Run Code Online (Sandbox Code Playgroud)