【问题标题】:Stop reload of page when clicking a link leading to php script单击指向 php 脚本的链接时停止重新加载页面
【发布时间】:2015-05-12 12:02:25
【问题描述】:

我正在尝试在我的网站上实现某种新闻模块。新闻包含在我用 php 解析并显示在网站上的文本文件中。其中一些新闻具有链接“详细信息...”,它应该将我带到一个 php 脚本,该脚本将显示该新闻项目的详细文本。我知道如何使用 javascript 完成此操作,但我需要在不使用 javascript 的情况下完成此操作。我希望我的页面在转到此脚本时不会重新加载。

例如:

这是一条新闻:

echo '<article class="newsContainer">';
echo '<img src="' . $sadrzaj[3] . '" class="news_image" alt=" ">';
echo '<h1 class="news_header">' . ucfirst(strtolower($sadrzaj[2])) . '</h1>';
echo '<p class="news_item">' . $opis . '</p>';
if($imaDetaljnije) echo '<a href="/servis/Struktura/index.php?detaljnije="' .$detaljnije . '"&naslov="' .ucfirst(strtolower($sadrzaj[2])) . '"&" class="detaljnijeLink">Detaljnije...</a>';
echo '</article>';

这是我通常用来使用 AJAX 加载页面并将其写入文档的脚本:

function AjaxLoadJQuery(pageToLoad){
        var requestObject = new XMLHttpRequest();
        requestObject.onreadystatechange = function()
        {
            if (requestObject.readyState == 4 && requestObject.status == 200)
            {
                document.open();
                document.write(requestObject.responseText);
                document.close();
            }
            if (requestObject.readyState == 4 && requestObject.status == 404)
            {
                alert('belaj');
            }
        };
        requestObject.open("GET", pageToLoad, true);
        requestObject.send();
    }

我将页面的 url 传递给它,我的页面内容发生了变化。

现在我想保留这种单页应用程序模型,但是单击此链接会导致页面重新加载。

我有什么办法可以做到这一点,使用 javascript?

【问题讨论】:

  • 没有javascript的任何方式?
  • 您正在使用 JavaScript。你有理由不使用 JavaScript 吗?
  • 如果用户在浏览器中禁用了javascript怎么办?
  • 然后页面将重新加载。没有 JavaScript,你无法做你想做的事。

标签: javascript php html


【解决方案1】:

试试这个

<a href="link_to_page.php" onClick="window.open(this.href); return false;" target="_blank">

【讨论】:

  • 为什么 OP 应该“试试这个”?请添加对您所做的事情以及您这样做的原因的解释,不仅是为了 OP,也是为了 SO 的未来访问者。
  • 没有javascript的任何方式?
  • “return false”会停止浏览器导航,但首先它会允许它打开“详细信息...”链接中的内容
  • @Matsura 这是我能想到的唯一方法。
  • 这会在 Chrome 中打开一个新标签页,这是标准行为吗?
猜你喜欢
  • 2014-02-11
  • 2023-03-13
  • 2021-06-14
  • 2023-04-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-01-21
  • 2013-09-05
相关资源
最近更新 更多