Php 将带有链接的html加载到div中?
以下是场景: 我有3个文件: index.php:Php 将带有链接的html加载到div中?,php,jquery,html,iframe,hyperlink,Php,Jquery,Html,Iframe,Hyperlink,以下是场景: 我有3个文件: index.php: <html><head> <script type="text/javascript" src="../jquery.js"></script> <script> $(document).ready(function(){ $("#local").load("FarLinkLoader/farlink.php"); }); </script>
<html><head>
<script type="text/javascript" src="../jquery.js"></script>
<script>
$(document).ready(function(){
$("#local").load("FarLinkLoader/farlink.php");
});
</script>
</head><body>
<div id='local'></div>
</body></html>
<div>
<a href="farfar/farfarlink.php">farfarlink</a>
</div>
text or whatever
问题是当farlink.php
加载到index.php
时,farlink.php
中的链接无效,链接的引用来自index.php
,而不是来自前一个文件
这有什么关系吗iframe擅长于此,实际上是浏览器中的“浏览器”,因为通过iframe加载的页面的邻居文件/目录是从那里引用的,而不是从前一个页面中的页面加载的,就像ajax请求时一样
替换此所需功能的各种可能性是什么
谢谢 我想您可以添加一个小jQuery来自动更新加载页面中的所有URL(未测试):
您还可以在文档标题中添加一个标记,但这会影响整个文档中的所有相对链接,可能并不可取。我知道您说过“绝对URL不是解决方案”,但如果您的所有文件都位于同一服务器上,您可以使用URL,这些URL对于指定的域不是相对的,也不是绝对的,但是对于服务器的根来说是绝对的,因此无论它们包含在哪个页面中,都会引用同一个文件。只需使用前面的“/”字符和从根目录到每个文件的完整路径。所以我应该使用PHP中的$\u服务器生成它?我不了解PHP,也不知道答案,但我只是认为这是一种在/FarLinkLoader/farlink.PHP文件中编写路径的方法
$(document).ready(function(){
$('#local').load('FarLinkLoader/farlink.php', function() {
$('#local').find('a').each(function() {
$(this).attr('href', function(i,val) {
if (val.substr(0,1)!=='/' && val.substr(0,7)!=='http://') {
return 'FarLinkLoader/'+val;
} else {
return val;
};
});
});
});
});