jQuery Mobile - 相对链接 - 基本标签错误
在我的应用程序中,我使用基本标签
,链接使用相对路径,如下所示: 一些链接
。
第一个页面加载起来非常顺利,但下一个请求尝试加载错误的 URL,经 firebug 测试。
示例:
Base: http://localhost/app/
- 链接 1:新闻
- 链接 2:关于
第一个请求,在链接 1 上,获取正确的 url,http://localhost/应用程序/新闻
。
但在下一个请求中,如果我单击链接 2,jquery mobile 会尝试加载以下网址: http://localhost/app/news/about
如何处理此问题?
使用绝对 url 不是一个选项。
谢谢。
On my application i use the base tag <base href="http://localhost/app/" />
, and the links uses relative path, like these: <a href="news/page-1">some link</a>
.
The first page load like a charm, but the next requests tries to load wrong URLs, tested by firebug.
Example:
Base: http://localhost/app/
- link 1: news
- link 2: about
on the first request, on link 1, obtain the correct url, http://localhost/app/news
.
but on the next request, if i click on the link 2, jquery mobile tries to load the following url: http://localhost/app/news/about
how to deal with this problem?
use absolute urls is not an option.
thanks.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
它看起来像一个错误。
这可能是一个解决办法。
It looks like a bug.
And here may be a fix for it.
我设法使用 jQuery 本身修复相对链接,将此脚本放在每个页面的底部:
它基本上执行以下操作:
这对我来说效果很好。
请注意,它仅适用于以正斜杠结尾的基本 href(例如
'http://localhost/app/'
)。否则需要对基本变量进行额外的修剪。我仍在尝试找出如何对图像来源执行相同的操作。尝试相同的技术失败了,因为在我使用 jQuery 修复它们之前,
img
的src
URL 似乎被错误地转换为绝对 URL。如果有人发现窍门,请告诉我。同时,我将使用图像的绝对 URL...I managed to fix the relative links using jQuery itself, putting this script at the bottom of every page:
It basically does the following:
It worked out pretty well for me.
Note that it only works with base hrefs ending with a forward slash (such as
'http://localhost/app/'
). Otherwise extra trimming will need to be performed on the base variable.I'm still trying to figure out how to do the same with images' sources. Trying the same technique fails, as it seems the
img
'ssrc
URLs get wrongly converted to absolute before I can fix them using jQuery. If anyones finds a trick, let me know. Meanwhile, I'll be using absolute URLs for images...