首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >这会一直起作用吗?它还能改进吗?

这会一直起作用吗?它还能改进吗?
EN

Stack Overflow用户
提问于 2012-03-17 00:23:43
回答 2查看 339关注 0票数 0

我正在尝试让ajax导航正常工作,所以下面是我尝试过的:

代码语言:javascript
运行
复制
$('nav a').on('click', function() { 
    $.ajax({
        url: this.href,
        success: function(data) {
            $('#content').html( $(data).find('#content').html() );
        }
    });
});

问题是,因为一切都是相对链接的,没有我的链接或img的工作。更糟糕的是,它试图加载所有的img,甚至是我不使用的那些(自动img预加载),并且我的徽标的相对路径对于某些页面是不正确的。

如果我更改了所有的srchref实例,然后通过正则表达式运行它来查找并替换所有坏路径,然后将属性改回srchref,它会起作用吗?

这就是我的意思。

代码语言:javascript
运行
复制
$('nav a').on('click', function() {
    var href = this.href 
    $.ajax({
        url: this.href,
        success: function(data) {
            var html = data.replace(/href/g, 'hrefhref')
                .replace(/src/g, 'srcsrc');

            $('#content').html(
                $(html).find('#content').html().replace(/hrefhref/g, 'href')
                    .replace(/srcsrc/g, 'src')
                    .replace(/href=\.\/'/g, "href='" + href)
                    .replace(/href=\.\/"/g, 'href="' + href)
                    .replace(/src=\.\/'/g, "src='" + href)
                    .replace(/src=\.\/"/g, 'src="' + href)
            );
        }
    });
});

我的问题是:如果路径不是以点开头,有什么方法可以让它工作吗?当然,如果href或src attr在另一个域上或已经绝对路径,那么它不应该更改任何内容

此外,这将始终适用于所有浏览器,是否会有一个attr hrefhrefsrcsrc在解析时被剥离。

EN

Stack Overflow用户

回答已采纳

发布于 2012-03-19 10:21:26

在设置中使用BASE元素。这样,您就可以在本地进行开发,并将其放在服务器上。唯一需要更改的是BASE元素中的href。

http://www.w3.org/TR/html401/struct/links.html#h-12.4

或者也可以看看“可怕和可悲”的W3Schools解释:http://www.w3schools.com/TAGS/tag_base.asp

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

https://stackoverflow.com/questions/9740920

复制
相关文章

相似问题

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