首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >点击页面跳转后,网站重定向到主页

问点击页面跳转后,网站重定向到主页
EN

Stack Overflow用户
提问于 2017-06-16 19:17:22
回答 2查看 1K关注 0票数 0

有一个页面在我的ModX网站,其中包括两个页面跳转链接在顶部的几篇文章,是进一步下降的网页。这是其中每一个的HTML:

代码语言:javascript
复制
<a class="jump" href="#article1">Article 1</a><br />
<a class="jump" href="#article2">Article 2</a><br />

<!-- and so on... -->

在此之前,IE 11中的链接根本不起作用,所以我在这里使用JavaScript来检查访问者是否在使用IE并执行页面跳转:

代码语言:javascript
复制
var url = 'http://mywebsite/mywebpage';
$('a.jump').on('click', function(evt) {
    evt.preventDefault();
    var useragent = window.navigator.userAgent;
    if (useragent.indexOf("Trident") > -1 || useragent.indexOf("Edge") > -1) { // IE, Edge
        var href = $(this).attr('href');
        window.location.assign(url + href);
    } else { // anything else
        var href = $(this).attr('href');    
        href = href.substring(1, href.length);      
        window.location.assign('other/url#' + href); 
    }
});

我不确定这是否是最好的方式检查IE,但目前看来,它似乎是有效的。

这在Chrome和Firefox中工作得很好,但是如果我点击IE中的页面跳转,它就会正确跳转,但是经过一秒钟之后,它就会重定向到我的网站主页。

我使用的是ModX革命2.5.7。

编辑: Microsoft似乎直接指向主页。编辑2:更新的JS代码,以检查边缘正确。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-06-23 14:22:20

有一个页面在我的ModX网站,其中包括两个页面跳转链接在顶部的几篇文章,是进一步下降的网页。

我不太明白你想达到什么目的。如果你想让访问者真正打开这些链接并阅读它们,为什么不直接插入真正的链接并使这个基本的html内容-浏览链接-工作呢?

如果这些文章已经作为次要内容出现在页面上(全部或部分),并且您只想通过“跳转”吸引访问者的注意力,而不打开新的选项卡或加载其他页面,那么除了<a href='#article1'></a>之外,还可以使用<a name="#article1"></a>来指示当前页面上应该滚动访问者的位置。

您给出的代码也有几个问题。

首先,检查IE/Edge版本的方式。正如在这个answer中所指出的,“三叉戟”现在不是边缘用户代理字符串的一部分。所以,如果你想要瞄准边缘,你的病情甚至不会触发。

另外,您不需要这样做:(url + href).toString(),因为这两个变量都已经是string类型了。只有url + href。

此外,它感觉好像有另一个脚本在页面上处理点击链接。我认为我们需要链接到您的页面,以检查发生了什么。所以,如果你不介意分享链接,我们可以更深入地检查。

票数 1
EN

Stack Overflow用户

发布于 2017-06-16 19:20:34

也许evt.preventDefault()就在click函数中?

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44596483

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档