我有几个页面,这些页面可以直接访问,也可以从 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
我该如何解决这个问题?
非常感谢
最佳答案
你可以添加一个 base tag使用 jQuery 加载页面
$("head").append("<base href="http://localhost/folders/myfolder/" />");
根据加载顺序,您应该使用它。 (我不确定是否需要在设置之前或之后加载 css)
关于php - 使用 jQuery 加载函数作为绝对路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5470857/