2

我正在尝试在div其中包含 PHP 网页,但是当我单击其中的任何链接时div,它会在新窗口中加载。

有谁知道如何解决这个问题?

我也尝试使用 aiframe而不是 adiv但它导致了其他问题。

HTML 代码:

<div id="cover5">
    <div id="warning">
        <?php include 'SignIn.php'; ?>
        <p align="center">
            <a href="#" onclick="javascript:cover5();">Home</a>
        </p>
    </div>
</div>

JS代码:

function cover5() {
    var cover = document.getElementById('cover5');
    if (vis) {
        vis = 0;
        cover.style.display='block';
    }
    else {
        vis = 1;
        cover.style.display='none';
    }
}
4

3 回答 3

2

您必须区分 Web 应用程序的客户端和服务器端。

<?php include 'SignIn.php'; ?>是一个服务器端命令,因为<?php ?>,这意味着用户将永远不会准确地看到该行。

SignIn.php例如,如果您的文件包含<a href="go-there.php">my link</a>,则用户将仅获得该包含的输出,即

<div id="warning">
    <a href="go-there.php">my link</a
</div>

当用户点击链接时,他的浏览器会加载它,就好像它是<a />直接在你的 HTML 代码中一样,然后在新窗口中打开它。

我不知道如何使用原生 JS,但是使用 jQuery,你可以尝试这样的事情:

$(function() {
    $("#warning a").each(function() {
        $("#warning").load($(this).attr("href"));
    });
});
于 2012-05-04T10:06:34.997 回答
1

要从页面元素内的特定链接呈现 html,您需要运行ajax GET调用并加载 html。然后将响应插入到您的div.

使用 jQuery:

$("a").click(function(){                    //calls function when anchor is clicked
  var link = $(this).prop("src");           //finds the link from the anchor
  $.get(link,function(data, status, xhr){   //makes an ajax call to the page
    $("#myDiv").html(data);                 //replaces the html of #myDiv with the returned page
  });
});

希望有帮助

于 2012-05-04T10:02:50.767 回答
0

HTML 代码:

<div id="cover5">
    <div id="links">
        <p align="center">
            <a href="#" onclick="javascript:cover5();">Home</a>
        </p>
    </div>
    <div id="warning">
        <?php include 'SignIn.php'; ?>
    </div>
</div>

和JS代码:

function cover5() {
    var cover = document.getElementById('warning');
    if (vis) {
        vis = 0;
        cover.style.display='block';
    }
    else {
        vis = 1;
        cover.style.display='none';
    }
}

每当用户单击“链接” div 中的链接时,它将调用 JS 函数“ cover5()

您可以使用 jQuery 或 ajax 弹出“警告”div

在您的代码中,您将链接添加到佩戴的div 以便在第二次时 ti 将隐藏那里的所有链接形式。

于 2012-05-04T11:20:01.003 回答