我有几个页面,这些页面可以直接访问,也可以从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
我怎样才能解决这个问题?
非常感谢
答案 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 /”。