首页 > 解决方案 > 如何有条件地加载 HTML 元素,或者在加载页面之前删除它们?

问题描述

问题是,我有一个租用多年的网站,它无法访问服务器,我只能编辑 php .twig 文件。

我创建了一个移动和桌面版本,并使用媒体查询来隐藏其中一个。

我的问题是,因为桌面版本是在移动版本之前加载的,所以页面工作必不可少的一个脚本,我无权访问,即使它被隐藏了,它也会以桌面版本为目标,因此移动版本不起作用。

我试图删除在加载时触发此脚本的 pc 版本:

function myFunction() {
  var pcversion = document.getElementById("pcversion");
  pcversion.remove();
}

但是内容在消失之前出现了 0.5 秒,因此再次使移动设备 v. 无用。如果 pcversion 在加载之前被删除,理论上它会起作用。它加载并且脚本的目标是搞砸一切。

我可以将 jQuery、js 或 php 代码放在 .twigs 中,你会如何解决这个问题?我还尝试根据屏幕大小有条件地在另一个版本之前加载一个版本,但无济于事:(

感谢阅读的小伙伴。

标签: javascriptphphtmljquery

解决方案


添加这个

<?php echo "<style>#pcversion { display: none !important }</style>"; ?>

或使用脚本:

document.write("<style>#pcversion { display: none !important }</style>")

推荐阅读