小编Yur*_*yma的帖子

区分当前选项卡与新选项卡中打开的链接

我想做的示例:在Facebook上,单击链接以在当前选项卡中打开它将触发一些Javascript而不是打开链接.但是,在新选项卡中打开它(通过右键单击或按住Ctrl/Cmd)将打开链接而不调用任何Javascript.

我想对我的链接做同样的事情(链接行为取决于目标).我有onclick事件处理程序,return false;以避免打开链接; 但这会导致Ctrl +单击无法打开链接.我该如何实现这一目标?

编辑:我不希望链接在新窗口中强行打开. 如果在新窗口中打开链接,我希望它href像往常一样.但是,如果链接在当前窗口中打开,而不是跟随当前窗口中的链接,我想要运行一些Javascript.

Facebook这样做是为了在弹出的"剧院"中打开图像,如果你在当前窗口中打开它,如果你在一个新窗口中打开它就打开它.

请注意,click在链接上捕获事件并使用preventDefault()return false导致Cmd + Click(在新选项卡中打开)失败.无论如何,无论链接如何打开,这都应该有效 - 点击,回车键等.

编辑2:似乎hashchange/ HTML5 pushState是正确的方法

javascript javascript-events

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

针对 DocumentFragment 的 XPath 查询

我需要对 a 进行一些 DOM 手术DocumentFragment,并且我正在尝试使用 XPath 来查找需要修改的节点。但是,我不知道如何开始document.evaluate处理片段。我试过

fragment.ownerDocument.evaluate(
    '//*',
    fragment.ownerDocument,
    null,
    XPathResult.ANY_TYPE,
    null
)
Run Code Online (Sandbox Code Playgroud)

但这没有用。

javascript debugging xpath dom documentfragment

5
推荐指数
1
解决办法
1082
查看次数