【问题标题】:jQuery load() fails to load after link back to pagejQuery load() 在链接回页面后无法加载
【发布时间】:2019-07-05 19:19:06
【问题描述】:

我有这个在初始页面加载时运行良好的小脚本。我在页面顶部有一个菜单。当我转到我网站中的另一个页面并使用后退按钮返回主页时,脚本仍然可以工作并加载文件。但是,当我使用返回此页面的链接时,PHP 文件不会加载。请任何人提供建议。

$(window).ready(function () {
  if (screen.width < 1024) {
    $('#place_holder').load('small.php');
    return false;
  } 

  if (screen.width > 1024) {
    $('#place_holder').load('desktop-wide.php');
    return false;
  } 

  if (screen.width = 1024) {
    $('#place_holder').load('desktop-small.php');
    return false;
  }
}); 

【问题讨论】:

  • 所以你说的第一个后退按钮是浏览器的,第二个是你开发的后退按钮?这对我来说不是很清楚。如果您说的是浏览器的后退按钮,您能否在问题中指定?
  • 您可以完全避免该问题,并通过使用 CSS 媒体查询根据可用屏幕宽度更改布局来提高逻辑和性能。
  • 是的,如果使用后退浏览器按钮没问题。但是如果在我的导航栏中使用链接到主页就会出现问题。

标签: jquery


【解决方案1】:

您正在尝试通过客户端加载 php 文件,这是不可能的。

可以根据屏幕大小添加新的css文件

if (screen.width < 1024) {
  $("<link rel='stylesheet' href='style.css'>").appendTo("head");
}

但这不是一个好习惯!!!

相反,您必须在标题中使用链接标记规则集,像这样

<link rel="stylesheet" media="screen and (min-device-width: 1024px)" href="style1024.css" />

那么你当然要创建一个 style1024.css,其中包含你想应用于 1024 屏幕的 css 规则

或者通过在样式表文件中使用@media css 媒体查询规则。

 @media (max-width: 1024px) {
    .mydiv {
     background-color:#333;
   }
 }

查看此文档以获取有关 css media queries 的更多信息

【讨论】:

  • 我试过了,但还是有同样的问题。请问有什么建议吗?
  • 您的“返回”链接/按钮是如何制作的? Jquery 也是?
  • 不只是带有超链接的普通菜单
  • javascript:history.back() 喜欢这样吗?
  • 首页
猜你喜欢
相关资源
最近更新 更多
热门标签