javascript - 如何有条件地加载 HTML 元素,或者在加载页面之前删除它们?
问题描述
问题是,我有一个租用多年的网站,它无法访问服务器,我只能编辑 php .twig 文件。
我创建了一个移动和桌面版本,并使用媒体查询来隐藏其中一个。
我的问题是,因为桌面版本是在移动版本之前加载的,所以页面工作必不可少的一个脚本,我无权访问,即使它被隐藏了,它也会以桌面版本为目标,因此移动版本不起作用。
我试图删除在加载时触发此脚本的 pc 版本:
function myFunction() {
var pcversion = document.getElementById("pcversion");
pcversion.remove();
}
但是内容在消失之前出现了 0.5 秒,因此再次使移动设备 v. 无用。如果 pcversion 在加载之前被删除,理论上它会起作用。它加载并且脚本的目标是搞砸一切。
我可以将 jQuery、js 或 php 代码放在 .twigs 中,你会如何解决这个问题?我还尝试根据屏幕大小有条件地在另一个版本之前加载一个版本,但无济于事:(
感谢阅读的小伙伴。
解决方案
添加这个
<?php echo "<style>#pcversion { display: none !important }</style>"; ?>
或使用脚本:
document.write("<style>#pcversion { display: none !important }</style>")
推荐阅读
- python - 每次运行 Google News Word2Vec 模型是否都会占用存储空间?
- html - 在 Outlook 电子邮件代码中,必须将表格左对齐,以便它们在 TD 中对齐,但希望它们以移动设备为中心。不能使用媒体查询或样式表
- javascript - jQuery 仅在单击指定元素时激活 .click()
- r - Quasiquotation 和 ifelse :取消引用未按预期解决
- ios - Xcode Swift URLSession 从 URL 下载视频
- abap - 将只读变量传递给 CHANGING 参数
- javascript - 使用变量在 javascript 中查找控件
- excel - Excel 查询 - VBA 刷新和等待
- php - Nginx php文件正在下载而不是执行
- hugo - Hugo NextInSection 带计数器