AJAX 和相对路径范围

Posted

技术标签:

【中文标题】AJAX 和相对路径范围【英文标题】:AJAX and Relative Path Scope 【发布时间】:2010-09-15 07:48:05 【问题描述】:

我正在尝试通过 Facebox 中的漂亮 AJAX 功能(用于 jQuery)对包含 SWF 的页面进行灯箱化。问题是路径现在相对于主索引页面起作用,而不是包含闪存页面的目录。这是目录细分:

./ - index.html(加载项目/projectName/index.html) + js/ + jQuery/ -facebox.js - jquery.js + swfobject/ - swfobject.js + 项目 + 项目名称 - index.html(使用 JS 的相对路径单独查看时有效) + 瑞士法郎/

谁能告诉我是否有某种方法可以通过 jQuery(或任何 javascript)保留相对路径的范围?

谢谢!

【问题讨论】:

这个问题对我来说有点不清楚。您能否举例说明它当前解析的路径,然后举例说明您希望它如何解析? (我假设不可能使用绝对路径?) 【参考方案1】:

您不想像现在这样使用相对路径,它们会以备份文件夹树的方式工作。尝试使用从 Web 根目录开始的路径,而不是沿着文件夹树向下移动。所以不要这样:

../../images/image.gif

或者这个:

./images/image.gif

你应该试试这个:

/images/image.gif

【讨论】:

我知道这是旧的,但这不会有虚拟目录的问题吗?【参考方案2】:

我不确定我是否完全理解了这个问题(你有源代码/网址示例)。

Base HREF 标签可以让您在 iFrame 中设置相对路径开始,您应该能够从那里使用相对路径。

【讨论】:

【参考方案3】:

更多信息可能会有所帮助。主要的index.html 是重定向到projectName 下的那个,还是在FRAME/IFRAME 中打开它?哪个有.facebox() 调用?

【讨论】:

【参考方案4】:

抱歉没有上传!不得不清除一些还不能显示的项目。

http://www.kevinsweeneydesign.com/help/

您可以在这里看到,当我自己查看文件时,路径都是正确的(当我尝试对内容进行面部装箱时,它变得很糟糕):

http://www.kevinsweeneydesign.com/help/projects/propod/

facebox 调用来自 ./help/index.html 文件。它尝试在 facebox 调用中加载 ./help/projects/propod/index.html。但是,./help/projects/propod/index.html 文件使用位于 ./help/js/swfobject/ 中的 JS

更新:我尝试设置基本标记(将其设置为 ./projects/propod)...这有效,但仅适用于图像。我仍在修改“base”参数以提供 SWF,但无济于事......当我查看 Firebug 中的对象标记时,我没有看到任何附加的“_base_href”,就像我在链接到图片 =/

【讨论】:

以上是关于AJAX 和相对路径范围的主要内容,如果未能解决你的问题,请参考以下文章

相对路径和绝对路径的区别是啥?

什么叫相对路径?

相对路径和绝对路径的区别

相对路径和绝对路径

什么是文件的相对路径?怎么把文件路径改为相对路径?

java里绝对路径和相对路径的区别是啥?