使用jQuery加载函数作为绝对路径

时间:2011-03-29 10:07:20

标签: php javascript jquery load

我有几个页面,这些页面可以直接访问,也可以从iFrame访问。可以将页面作为iFrame加载的部分用于我需要的某些功能。

问题是,当我在jQuery中使用.load()函数时,找不到样式表,脚本,一些图像等因为.load()尝试将所有内容作为相对路径加载被称为。

我需要在iFrame中加载类似快照的页面,这意味着它们的行为应该与直接访问它们的方式相同。

试着总结一下,这就是问题所在:

该文件位于以下位置:

http://localhost/www/folders/myfolder/myfile.html

调用.load()函数的索引文件位于根目录中,即

http://localhost/www/index.php

myfile.html包含以下链接:

css/style.css
js/script.js

在那里,它们位于:

http://localhost/www/folders/myfolder/css
http://localhost/www/folders/myfolder/js

因此,当.load()函数从根文件夹加载文件时,找不到这些文件,因为它们的读取方式如下:

http://localhost/css/ instead of http://localhost/folders/myfolder/css

我怎样才能解决这个问题?

非常感谢

3 个答案:

答案 0 :(得分:2)

您可以使用jQuery

向加载的页面添加base tag
      $("head").append("<base href="http://localhost/folders/myfolder/" />");

取决于您应该使用此加载顺序。 (我不确定是否需要在设置之前或之后加载css)

答案 1 :(得分:0)

我想你可以试试这个,

<?php
define('file_path_css','folder/myfolder/css');

include file_path_css;

&GT;

这可能有用......

答案 2 :(得分:0)

听起来像在你的myfile.html中,你只需要在样式表和脚本路径中添加“folder / myfolder /”。