Javascript test(string)在IE中不起作用,但在Chrome、Safari和FireFox中效果良好

Javascript test(string)在IE中不起作用,但在Chrome、Safari和FireFox中效果良好,javascript,jquery,regex,internet-explorer,Javascript,Jquery,Regex,Internet Explorer,我通过JSON/JSONP从另一个父站点加载内容并在本地显示。以下函数劫持链接单击事件,检查链接是否指向父站点,从链接中删除父站点URL,并运行函数根据链接URL加载新闻文章 这在除IE之外的所有情况下都可以正常工作。问题在于这一行: if(regex.test(href)) { 如果我说出来,一切都很好。然而,有条件的检查是必要的,以确保我们不会劫持到外部网站的链接,例如,纽约时报网站 我被困在这里,无法确定这到底是一个IE bug,还是正则表达式有问题,或者是HREF的收集方式有问题?任何

我通过JSON/JSONP从另一个父站点加载内容并在本地显示。以下函数劫持链接单击事件,检查链接是否指向父站点,从链接中删除父站点URL,并运行函数根据链接URL加载新闻文章

这在除IE之外的所有情况下都可以正常工作。问题在于这一行:

if(regex.test(href)) {
如果我说出来,一切都很好。然而,有条件的检查是必要的,以确保我们不会劫持到外部网站的链接,例如,纽约时报网站

我被困在这里,无法确定这到底是一个IE bug,还是正则表达式有问题,或者是HREF的收集方式有问题?任何见解都会有所帮助。完整功能如下

function hijackURLs() {
    // hijack link click events
    $("#news-archive, #news-story").on("click", "a", function(evt) {

        var regex = /http:\/\/parent-site.com\//
            , href = $(this).attr("href");

        // make sure the link matches our regex
        // this isn't working in IE for some reason
        if(regex.test(href)) {

            evt.preventDefault();

            // replace the href with hashtag
            href = href.replace( regex, '#' ).split( '\/#more-' )[0];

            // change the url without a page refresh and add a history entry.
            history.pushState(null, null, href);

            // load the content
            showArticle( href, _news );

        }
    });
}

编辑:我在这里重新措辞。上面提到的行不会在IE中抛出错误;它在IE中不起作用。href没有通过regex.test,因此字符串不会被替换,加载文章内容的函数不会被调用。

您使用的是哪个版本的IE?能否在href变量中提供字符串示例?@Matt:I正在支持IE9+@Oriol:sample href如果您只运行/http:\/\/parent site.com\//。testhttp://parent-site.com/news/continuing-education-road-trip?