查错之旅 GitHub排版混乱--特定浏览器加载时错误

2024-01-27 01:58

本文主要是介绍查错之旅 GitHub排版混乱--特定浏览器加载时错误,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

前面的话:

上一次打开Github也就是两三天内的事情,莫名其妙的,今天再打开排版会很混乱,本以为是个小问题,可Google之后竟没有一个简单的解释,纠错之旅,磕磕绊绊。

错误效果截图:

这里写图片描述

纠错尝试

1. 网络切换–失败

这种没加载好的问题,最简单的是网络不好,但换了好几个网络过后,一如既往…

2. 第三方浏览器尝试连接GitHub–成功

居然在Edge上能正常访问,那就是chrome的锅了,想不到你也有今天。
(不过还不好说,最近更新了一次win,说不定是被微软强暴了)

3. 关闭chrome插件–失败

chrome这种神器,怎么能背锅呢,一定是插件冲突了,(不想跟你讲道理,并向你扔了一口锅)。然而失败了,关闭了各种插件,尤其是最可能的广告拦截,仍然不起作用。

4. 修改hosts–失败

无奈之下,上Google看了看,可惜对前端没有太多了解,关键词可能出问题了。总之,一番搜索下来,最有可能的是这个解释:

github的DNS被GFW污染了
之前为了翻墙,改了系统hosts文件下github的DNS解析。

乍一看很有道理,可要是这样的话,其他浏览器应该也加载不了。
果然,改完hosts也没有用。

5. 清除Cookie及其它网页数据–成功!!!

我查看了chrome与Microsoft Edge对GitHub.com的加载情况,差异是这个:

chrome :
这里写图片描述

这是Microsoft Edge 的对应信息
这里写图片描述

于是,我试着访问

“https://assets-cdn.github.com/assets/frameworks-592c4aa40e940d1b0607a3cf272916ff.css” ,

惊奇地发现:chrome禁止我访问,而Edge能下载一个110kb的文件。

我确信是chrome出了问题,于是我查看chrome的各项设置情况,看见了“清除Cookie及其他网站信息”这一项,这是很有可能的问题。
我清除Cookie数据后再次访问,果然成功了。

总结与吐槽:

幸好我了解一点Cookie相关的皮毛,不然会更坑。

下面这段摘自维基百科,介绍一下Cookie的用途:

因为HTTP协议是无状态的,即服务器不知道用户上一次做了什么,这严重阻碍了交互式Web应用程序的实现。在典型的网上购物场景中,用户浏览了几个页面,买了一盒饼干和两瓶饮料。最后结帐时,由于HTTP的无状态性,不通过额外的手段,服务器并不知道用户到底买了什么,所以Cookie就是用来绕开HTTP的无状态性的“额外手段”之一。服务器可以设置或读取Cookies中包含信息,借此维护用户跟服务器会话中的状态。在刚才的购物场景中,当用户选购了第一项商品,服务器在向用户发送网页的同时,还发送了一段Cookie,记录着那项商品的信息。当用户访问另一个页面,浏览器会把Cookie发送给服务器,于是服务器知道他之前选购了什么。用户继续选购饮料,服务器就在原来那段Cookie里追加新的商品信息。结帐时,服务器读取发送来的Cookie就行了。Cookie另一个典型的应用是当登录一个网站时,网站往往会请求用户输入用户名和密码,并且用户可以勾选“下次自动登录”。如果勾选了,那么下次访问同一网站时,用户会发现没输入用户名和密码就已经登录了。这正是因为前一次登录时,服务器发送了包含登录凭据(用户名加密码的某种加密形式)的Cookie到用户的硬盘上。第二次登录时,如果该Cookie尚未到期,浏览器会发送该Cookie,服务器验证凭据,于是不必输入用户名和密码就让用户登录了。

简单来说,就是通过一个Cookie形式的验证后,网站知道你是谁,在他那里做过什么事,依次来方便与客户之间的交互。

在这次坑爹之旅中,

  • GitHub在加载中通过检测Cookie,发现我之前通过chrome访问过
  • 既然加载过,chrome里应该存有GitHub的排版格式信息,那GitHub就不给你发了,自己上缓存找去(总不能每次都发排版格式嘛,网络多累啊)
  • 出于某种不为人知的原因,我的排版格式丢失了,GitHub以为我在骗他,觉得我有文件,偷懒不给我重发(为了加速网络)
  • 最后单单chrome加载错误,而Edge没有问题

补:

最后理论有点问题,因为我成功访问之后,再次尝试访问

https://assets-cdn.github.com/assets/frameworks-592c4aa40e940d1b0607a3cf272916ff.css

是能够得到格式文件的,也就是说可能并不是通过判断是否访问过决定的。
之前可能只是我没有通过cookie验证,
但也有可能是chrome的机制做的自动加载。

精力有限,前端的东西只能暂时告一段落,希望有高手普及一下这方面的知识。

这篇关于查错之旅 GitHub排版混乱--特定浏览器加载时错误的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/648724

相关文章

Flutter 进阶:绘制加载动画

绘制加载动画:由小圆组成的大圆 1. 定义 LoadingScreen 类2. 实现 _LoadingScreenState 类3. 定义 LoadingPainter 类4. 总结 实现加载动画 我们需要定义两个类:LoadingScreen 和 LoadingPainter。LoadingScreen 负责控制动画的状态,而 LoadingPainter 则负责绘制动画。

如何提高 GitHub 的下载速度

如何提高 GitHub 的下载速度 文章目录 如何提高 GitHub 的下载速度1. 注册账号2. 准备好链接3. 创建仓库4. 在码云上下载代码5. 仓库更新了怎么办 一般来说,国内的朋友从 GitHub 上面下载代码,速度最大是 20KB/s,这种龟速,谁能忍受呢? 本文介绍一种方法——利用“码云”,可以大大提高下载速度,亲测有效。 1. 注册账号 去“码云”注册一

zeroclipboard 粘贴板的应用示例, 兼容 Chrome、IE等多浏览器

zeroclipboard单个复制按钮和多个复制按钮的实现方法 最近网站改版想让复制代码功能在多个浏览器上都可以实现,最近看网上不少说我们的代码复制功能不好用的,我们最近将会增加代码高亮等功能,希望大家多多支持我们 zeroclipboard是一个跨浏览器的库类 它利用 Flash 进行复制,所以只要浏览器装有 Flash 就可以运行,而且比 IE 的

微软正式推出 Spartan 斯巴达浏览器

作为用于替代 IE 浏览器的下一代继任者,微软的 Project Spartan 斯巴达浏览器可算是吊足了玩家们的胃口!如今,在最新的 Windows 10 Build 10049 版本起,它终于正式登场了。 斯巴达浏览器搭载了全新的渲染引擎、新的用户界面并集成了 Cortana 语音助手。功能上新增了稍后阅读列表、阅读视图、F12开发者工具、支持网页注释 (手写涂鸦),可以保存到 O

PC与android平板通过浏览器监控Verybot的视频

下面这个视频是PC与android平板通过浏览器监控Verybot的视频:           http://v.youku.com/v_show/id_XNjYzNzYyMTIw.html

【经验交流】修复系统事件查看器启动不能时出现的4201错误

方法1,取得『%SystemRoot%\LogFiles』文件夹和『%SystemRoot%\System32\wbem』文件夹的权限(包括这两个文件夹的所有子文件夹的权限),简单点说,就是使你当前的帐户拥有这两个文件夹以及它们的子文件夹的绝对控制权限。这是最简单的方法,不少老外说,这样一弄,倒是解决了问题。不过对我的系统,没用; 方法2,以不带网络的安全模式启动,运行命令行,输入“ne

Android中如何实现adb向应用发送特定指令并接收返回

1 ADB发送命令给应用 1.1 发送自定义广播给系统或应用 adb shell am broadcast 是 Android Debug Bridge (ADB) 中用于向 Android 系统发送广播的命令。通过这个命令,开发者可以发送自定义广播给系统或应用,触发应用中的广播接收器(BroadcastReceiver)。广播机制是 Android 的一种组件通信方式,应用可以监听广播来执行

Github连接方式

打开Linux中git的配置文件: /home/username/git/MyRepository/.git/config [core]repositoryformatversion = 0filemode = truebare = falselogallrefupdates = true[remote "origin"]fetch = +refs/heads/*:refs/remot

GitHub每周最火火火项目(9.2-9.8)

项目名称:polarsource / polar 项目介绍:polar 是一个开源项目,它是 Lemon Squeezy 的替代方案,并且具有更具优势的价格。该项目的目标是为开发者提供一种更好的选择,让他们能够在追求自己的热情和兴趣的同时,通过编码获得相应的报酬。通过使用 polar,开发者可以享受到更实惠的价格,同时也能够更自由地发挥自己的创造力和技能。 项目地址:https://github.

SQL2005 性能监视器计数器错误解决方法

【系统环境】 windows 2003 +sql2005 【问题状况】 用户在不正当删除SQL2005后会造成SQL2005 性能监视器计数器错误,如下图 【解决办法】 1、在 “开始” --> “运行”中输入 regedit,开启注册表编辑器,定位到 [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVer