标签: fragment-identifier

使用URI哈希识别选项卡时阻止滚动

我正在使用JQuery UI在我的应用程序中制作标签.我需要选项卡是可链接的(直接链接打开页面并选择正确的选项卡).这是通过使用散列标记/ 分段标识符来完成的.但是当选项卡上方和选项卡内部的内容很长时,我遇到了问题.

单击选项卡时,页面向下滚动到选项卡的开头.这不是我想要的.

我正在使用Jquery 1.7.1和Jquery UI 1.8.16.

javascript/Jquery代码是标准的Jquery UI选项卡,添加了事件"tabsshow".这在使用jquery ui标签更改location.hash(Stackoverflow问题)和JQuery UI标签时建议:点击标签时更新带有哈希的URL(博客 - 罗宾的技术日记)

$(document).ready(function() {
    $("#tabs").tabs();

    /**
     * Add hash to URL of the current page
     * 
     * http://chwang.blogspot.com/2010/02/jquery-ui-tabs-updating-url-with-hash.html
     * https://stackoverflow.com/questions/570276/changing-location-hash-with-jquery-ui-tabs
     */
    $("#tabs").bind('tabsshow',function(event, ui) {
        window.location.hash = ui.tab.hash;
    });
});
Run Code Online (Sandbox Code Playgroud)

以下HTML可用于测试行为

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js" type="text/javascript"></script>
<script src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.16/jquery-ui.min.js" type="text/javascript"></script>
<div style="height: 400px;">Some other content</div>
<div id="tabs" class="ui-tabs ui-widget ui-widget-content ui-corner-all">
    <ul class="ui-tabs-nav ui-helper-reset ui-helper-clearfix ui-widget-header ui-corner-all">
        <li class="ui-state-default ui-corner-top"><a href="#tab_1"><span>Tab 1</span></a></li>
        <li class="ui-state-default ui-corner-top"><a href="#tab_100"><span>Tab 100</span></a></li> …
Run Code Online (Sandbox Code Playgroud)

jquery tabs jquery-ui jquery-ui-tabs fragment-identifier

11
推荐指数
3
解决办法
8287
查看次数

Url片段和Referer标头

想象一下,您所在的网页上有一个网址,其网址包含一个片段(后面的部分#),然后点击一个链接转到另一个页面.大多数浏览器会将原始页面的URL发送到Referer标头中的服务器.我想知道的是URL片段是否包含在此片段中.

我已经看到了野外的各种行为,所以这可能是浏览器特定的.有谁知道哪些浏览器做什么?HTTP规范对此有何评论?

http-referer http cross-browser fragment fragment-identifier

10
推荐指数
1
解决办法
2189
查看次数

如何从HttpServletRequest获取URL片段标识符

如何从中获取URL片段标识符HttpServletRequest

javadocs中似乎没有提到它.

java servlets fragment-identifier

9
推荐指数
1
解决办法
1万
查看次数

PHP的哈希/哈希/片段部分

我试图找到一种方法来保存网址的哈希部分和PHP变量.这个想法有点怪异,但请耐心等待......

我想从以下URL中提取"location"片段并将其保存为PHP变量.

http://www.example.com/#location
Run Code Online (Sandbox Code Playgroud)

但是,此链接的讨论表明URL的片段只能通过JavaScript访问.

但是有可能创建一个链接,其中片段在URL中重复,由PHP解析,然后通过mod重写删除?所以....

原始网址:

http://www.example.com/location/#location
Run Code Online (Sandbox Code Playgroud)

由于URL中的普通"位置",PHP获取位置变量

然后Apache将链接重写为:

http://www.example.com/#location
Run Code Online (Sandbox Code Playgroud)

我很想知道是否有一种优雅的方法来解决这个问题.

php url hash mod-rewrite fragment-identifier

8
推荐指数
3
解决办法
3万
查看次数

为什么维基百科在其URL片段中使用修改后的百分比编码?

我注意到Wikipedia使用百分比编码作为URL的路径部分,但将%字符转换.为#fragment.

例如,在俄罗斯的"俄罗斯"页面上,第2部分(История)的URL 是

http://ru.wikipedia.org/wiki/%D0%A0%D0%BE%D1%81%D1%81%D0%B8%D1%8F#.D0.98.D1.81.D1.82.D0.BE.D1.80.D0.B8.D1.8F

代替

http://ru.wikipedia.org/wiki/%D0%A0%D0%BE%D1%81%D1%81%D0%B8%D1%8F#%D0%98%D1%81%D1%82%D0%BE%D1%80%D0%B8%D1%8F

对于id/name,两者都不是有效的HTML <5令牌,因为令牌必须以[A-Za-z]开头.HTML5 目前声明您可以使用除空格之外的任何字符中的至少一个(因此您根本不需要编码),但维基百科不是HTML5.

那么,为什么维基百科使用这个方案呢?

url fragment-identifier url-design percent-encoding

8
推荐指数
1
解决办法
798
查看次数

JavaScript/jQuery - onhashchange事件解决方法

在所有浏览器都支持onhashchange事件之前,最好的解决方法是什么?

在jQuery中有什么东西吗?还是作为插件?

javascript jquery events fragment-identifier hashchange

7
推荐指数
3
解决办法
1万
查看次数

URL中的多个片段标识符是否正确

我偶然发现了一个在其网址中使用多个片段标识符的网站,例如http://www.ejeby.se/#newprodukt#produkt#1075#1(不,它不是我的网站,但我链接到它,给我带来麻烦).

但这真的是对的吗?它似乎确实导致Safari和可能还有Internet Explorer的问题(传闻,我自己没有尝试过IE).

片段标识符不应该唯一标识文档中的一个位置吗?这是Safari中的一个错误,还是www.ejeby.se以错误的方式使用片段标识符?

编辑:似乎Safari的问题是它逃脱了所有#但是URL中的第一个#.其他浏览器不这样做.是否正确行为?

url fragment-identifier

7
推荐指数
1
解决办法
2556
查看次数

什么是片段URL以及使用它的原因

我是PHP开发的新手.

今天我偶然发现了有趣的主题URL碎片,特别是URL的"#"部分.

我搜索了它说它就像www.example.com\foo.html#bar.

但我不明白为什么需要这个"#bar".以及如何通过PHP阅读它?

php url hash fragment-identifier

7
推荐指数
1
解决办法
1万
查看次数

在框架中设置location.hash

我正在使用ajax更新框架中页面的位置.但是在设置哈希的位置时(特别是在Chrome和某些版本的IE(5.5)上,偶尔在IE7上),页面正在被重新加载.

以下html演示了这个问题.

主框架.... frame.html是

<html><head>
<frameset rows="*">
<frame src=sethash.html frameborder=0 scrolling=auto name=somebody>
</frameset>
</head></html>
Run Code Online (Sandbox Code Playgroud)

sethash.html页面是.

<html><head>
<script language=JavaScript>
var Count = 0;
function sethash()
{  
  top.document.location.hash = "hash" + Count;  
  Count++;
}
</script>
</head>
<body onload="alert('loaded')">
<h1>Hello</h1>
<input type='button' onClick='sethash()' value='Set Hash'>
</body>
</html>`
Run Code Online (Sandbox Code Playgroud)

在大多数浏览器中,加载frame.html会在加载页面时显示加载的警报.然后,当按下设置的哈希按钮时,URL将被更改,但加载的警报的哈希将不再显示.在Chrome和某些版本的IE上

Microsoft报告Internet Explorer 5.5 链接文本可能存在同样的问题

我不能使用microsoft建议的解决方案,即捕获事件而不是触发它,但只是滚动到视图,因为我使用set top.location.hash作为onLoad事件的一部分.

javascript ajax google-chrome frameset fragment-identifier

6
推荐指数
1
解决办法
8976
查看次数

为什么SVG中的同一文档引用受HTML <base>标记的影响?

我有一个带有<base>标签的HTML页面,也包含SVG.然后SVG中的相同文档引用如下所示:

<html>
  <head>
    <base href="http://my/server/basedir">
  </head>
  <body>
    <svg>
      <g>
        <path d="M100,100 L150,150" id="path"/>
        <text>
          <textpath xlink:href="#path"/>
        </text>
      </g>
    </svg>
  </body>
</html>
Run Code Online (Sandbox Code Playgroud)

xlink:href="#path"参考文献没有解决.没有HTML base元素,这可以正常工作.如果我用一个绝对IRI后跟片段标识符替换元素href上的属性,它也可以工作textpath.

在我看来,SVG应该以不同的方式处理同一文档的IRI并且独立于HTML base.在http://www.w3.org/TR/xmlbase/#same-document中,它说"取消引用同一文档引用是专门处理的.",虽然在上下文中被授予xml:base.顺便说一句,我打了一个推杆xml:base上的svg元素重写HTML的希望base为无法弄清楚如何使这项工作环境.

svg uri fragment-identifier

6
推荐指数
1
解决办法
541
查看次数