2012-04-30 106 views
0

我想在新选项卡中打开链接并转到该链接中的特定div。这个链接是:在新选项卡中打开链接并转到特定格

http://paper.li/f-1333760510

,我想去到div #paper-window上点击链接。这是我曾尝试:

1.

<a href="http://paper.li/f-1333760510#paper-window" target="_blank" /> 
<a href="#" onclick="load-link(); return false" /> 

function load-link() { 
    var w = window.open("http://paper.li/f-1333760510"); 
    w.location.href = "http://paper.li/f-1333760510#paper-window"; 
} 

回答

1

链接看起来不错...但你乱放与元素的ID的location.hash。 ..

OLD: 你的锚标记是绝对OK:

<a href="http://paper.li/f-1333760510#paper-window" target="_blank">open me</a> 
<a name="paper-window"></a> 

原因URL的#something部分是一个跳点到该页面上有一定的锚,而不是指向一个id

UPDATE(关于你的评论,感谢大家:)) HTML5规范的Navigating to a fragment identifier确实说既会工作......当顺序是先寻找一个ID,之后与属性名称锚(虽然在HTML5弃用向后兼容)

那么这将意味着开放http://www.example.com#foo将导致搜索:

// check for an element with an id matching "foo" 
<div id="foo"></div> 

// if no element was found check for an anchor with that name (also backward compatibility) 
<a name="foo"></a> 

// compare location.hash with "top" 
// would jump to the top of the page if it matches 
+0

有没有办法去一个div元素与ID?...该链接是外部的,不能改变。顺便说一句,当我在浏览器中放置链接'http:// paper.li/f-1333760510#paper-window'时,它将跳转到所需的div,但仅在加载页面一次之后。 – rubyprince

+0

以及这可以解决,但只有在外部页面阅读哈希和内部工作...我只是粘贴该网址,它并没有跳转到所需的DIV ...我认为这发生,因为浏览器记得 –

+0

嗯...是的,你是对的...我刚刚检查并意识到跳跃只发生在Fire-Fox,而不是像Chrome – rubyprince

相关问题