You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

WordPress干扰JavaScript模态弹窗加载自定义PHP页面问题求助

WordPress干扰JavaScript模态弹窗加载自定义PHP页面问题求助

大家好,我遇到了一个挺头疼的问题,想请各位帮忙分析下:

我的网站是基于WordPress搭建的,但同时也有不少独立的PHP页面,比如我的wiki板块是直接从数据库读取内容生成的。最近我想做一个功能:当鼠标悬停在游戏武器、装备或物品的链接上时,用JavaScript模态弹窗的iframe加载我自己写的entitycard.php页面,展示对应的物品统计信息。这个功能在本地测试时完全正常,可部署到线上后,entitycard.php居然返回了WordPress的“Sorry, no posts matched your criteria”错误页面,实在搞不懂为什么会这样。

我对比了本地和线上的效果,本地能正常加载entitycard.php的内容,线上却弹出WordPress的错误提示。而且直接访问线上的entitycard.php链接也是同样的错误,但这个文件本身只是做数据库连接和内容输出,完全没有引入任何WordPress的代码。

下面是相关的代码和信息,方便大家排查:

问题核心情况

  • 本地开发环境功能正常,线上生产环境出现WordPress错误提示
  • entitycard.php仅包含数据库连接与内容输出逻辑,无任何WordPress相关代码

用到的CSS样式

/* The Modal (background) */
.modal {
    display: none; /* Hidden by default */
    position: fixed; /* Stay in place */
    z-index: 1; /* Sit on top */
    left: 0;
    top: 0;
    overflow: auto; /* Enable scroll if needed */
    background-color: rgb(0,0,0); /* Fallback color */
    background-color: rgba(0,0,0,0.4); /* Black w/ opacity */
}

/* Modal Content/Box */
.modal-content {
}

生成悬浮链接与弹窗iframe的PHP代码

...
echo "<td><a onmouseover=\"showPopup(this)\" onmouseout=\"hidePopup(this)\" href=\"entity.php?entityid=$entity_id\">$name_with_quantityplusraritystarlevel</a></td>";
...
echo "<div id=\"myModal\" class=\"modal\">";
    echo "<div class=\"modal-content\">";
        echo "<iframe onload=\"resizeIFrameToFitContent()\" id=\"popupcontent\" height=\"200px\" width=\"150px\"></iframe>";
    echo "</div>";
echo "</div>";

控制弹窗显示/隐藏与iframe自适应的JavaScript代码

// START: Code for popup on entity link hover
var modal = document.getElementById('myModal');
// To show the modal popup when hovering over the Entity URL link
showPopup = function(context) {
    let link = context.href;
    link = link.replace("entity.php", "entitycard.php");
    //link example is [网站域名]/wiki/entitycard.php?entityid=697711
    modal.style.display = "block";
    document.getElementById("popupcontent").src = link;
    resizeIFrameToFitContent();
};

// When the user moves mouse off of link, close the modal
hidePopup = function(context) {
    modal.style.display = "none";
}

// To resize the popup iFrame
function resizeIFrameToFitContent() {
    document.getElementById("popupcontent").width  = 0;
    document.getElementById("popupcontent").height  = 0;
    document.getElementById("popupcontent").width  = document.getElementById("popupcontent").contentWindow.document.documentElement.scrollWidth + 7;
    document.getElementById("popupcontent").height = document.getElementById("popupcontent").contentWindow.document.documentElement.scrollHeight;
}
// END: Code for popup on entity link hover

实在想不通为什么WordPress会干扰到这个独立的PHP页面,希望各位能给我一些排查思路,谢谢大家!

备注:内容来源于stack exchange,提问作者KisnardOnline

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.14 12:40:29