开发者

Using jQuery load function as an absolute path

I have several pages and these pa开发者_开发百科ges can be accessed either directly, or from an iFrame. The part where the page can be loaded as an iFrame is used for some functionality that I need.

The problem is, that when I use the .load() function in jQuery, the stylesheets, scripts, some images, etc are not being found because the .load() tries to load everything as a relative path from where it is called.

I need to load the pages in the iFrame kind of like a snapshot, which means that they should behave the same way as if they were accessed directly.

Trying to summarize, this is the problem:

The file is located as follows:

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

The index file from where the .load() function is called is in the root, i.e.

http://localhost/www/index.php

myfile.html contains links like:

css/style.css
js/script.js

There, these are located at:

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

Therefore, when the .load() function loads the file from the root folder, these are not found because they are read as follows:

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

How can I get around this?

Many thanks


you could add a base tag to your loaded page with jQuery

      $("head").append("<base href="http://localhost/folders/myfolder/" />");

depending on the loading order you should play with this. (I am not sure if the css needs to be loaded BEFORE or AFTER this has been set)


I think you can try this,

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

include file_path_css;

?>

this might work..


Sounds like in your myfile.html, you just need to add "folder/myfolder/" to your stylesheet and script paths.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜