这不应该发生:对不可能进行故障排除
我最近对我的投资组合(johnrhea.com)进行了修改。在无休止的故障排除和解决本地机器上的次要问题之后,我将新抛光的投资组合上传到服务器上 - 只是看着它出色的失败。
以类似方式浏览解析和执行JavaScript是真的吗?当然,Chrome的处理方式可能与Firefox略有不同,但是如果相同的代码位于两个不同的服务器上,则无论服务器如何,它都应在任何一个浏览器中行为相同,都不应该吗?不应该吗?
最初,动态生成的恒星拒绝出现,并尝试参与游戏模式导致空白屏幕。没有任何威胁性的网站敌人实现,也没有向您发射任何“糟糕的体验”导弹 - 至少不在游戏模式下。但是,我的小故障网站肯定向您发射了“不良体验”导弹。在展示我的作品的页面上,微型汽车本来应该在街上赛跑,但他们也没有。
我想向您保证,绝对没有眼泪或哭泣。我仍然非常坚强,非常激动 - 只是为了解决揭露什么不对劲的挑战。我疯狂地搜索了Google的查询,例如“什么可能导致JavaScript在两个服务器上表现不同?”,“为什么服务器会改变JavaScript功能?”和“为什么每个人都认为当我显然没有时我在哭泣?”但无济于事。
控制台显示错误,但它们是荒谬的。我有一个名为“汽车”的SVG元素。我使用香草JavaScript制作了它,将其添加到页面上,然后将其放大,以代表一条街道的灰色带。 (这是一个以空间为主题的设置,您可以在这里探索行星。它确实很酷。我保证。)我正在使用CAR.STYLE.TRANSFORM将转换应用于汽车,但由于CAR.Style不确定,因此导致了错误。
我回到笔记本电脑并检查了代码。它完美地跑了没有任何错误。
为了绕过初始错误,我从CAR.Style切换到使用setAttribute,例如car.setAttribute('style','transform:translate:translate(100px,200px)');。这只是导致我遇到下一个错误。我用来存储有关汽车信息的某些数据 - *属性(例如car.dataset.xspeed)上的某些数据 - *属性失败了,访问时也返回了未定义。自2015年以来,SVG元素支持此功能,但在当地无缝运行时,它在服务器上没有运行。世界上可能会发生什么? (是的,我是在引用1990年代乐队Hoobastank,不,他们与这个问题无关。我只是喜欢... errr ...提及他们的名字。)
由于搜索引擎提供的帮助很少(主要是因为问题甚至不存在),我与托管提供商联系了,怀疑服务器配置问题可能正在发挥作用。有礼貌的技术支持试图通过检查服务器错误和其他基本的错误配置来提供帮助,但没有发现任何不对劲。在勉强充当我的编码治疗师并聆听有关从事网络开发职业(无泪的)哀叹之后,他实际上说他们支持JavaScript,但不能深入研究自定义代码,所以祝您好运。好吧,谢谢您,我叫卡车森的人! (那不是他的真名,但我认为“卡森”太明显了。)
接下来,但仍然无泪,我试图用最初的提示来解释我的问题:“为什么JavaScript在两个不同的网络服务器上的行为会有所不同?”它提供了多个回复,但它们都是不正确的。
- 也许在IMG标签中,Inline SVG与SVG存在问题?那不是问题。
- 浏览器是否可以将页面解释为纯文本,而不是由于某些错误配置而而不是HTML?不,HTML被正确获取,并且标题很好。
- 也许浏览器处于怪癖模式?不是。
- SVG元素可能是错误地创建的吗?您无法使用document.createelement('svg')在HTML中创建SVG元素,因为SVG使用了不同的名称空间。您需要使用document.createelementns(“ https://www.php.cn/link/06b444f22bf22bf01b4b4bad31391ffe0000009c4”,'svg ');由于SVG和HTML标准虽然相似,但却大不相同。不,我已将CreateElementn函数与正确的名称空间一起使用。
Sidenote:在聊天会议期间,Chatgpt用“啊,现在我们变得辣?”的短语开始了几个短语。和“啊,这是多汁的。?” (包括表情符号)。它还以一种感觉像技术的方式使用了几次“防弹”一词。还有一个“繁荣”。那是那里的吸烟枪。我认为这是觉得很棒,烦人,可怕还是可怕的。也许全部四个?
绝望地,我为未来的机器人霸主提供了我的一些代码,以赋予它上下文,并证明这些守则都不是问题。它继续专注于错误配置,让我输出检查以查看汽车元件是否确实是SVG元素。在本地,这是一个SVG元素,但是在服务器上,它没有被识别。
- 使用InnerHTML是否可以将SVG元素添加到CAR元素已破坏它,从而使其不被识别为SVG元素? Chatgpt提出要重写代码的一部分来解决此问题。我在本地实施了新的代码,它起作用了!但是,当我将其上传到服务器时...没有运气。相同的错误持续存在。
我公开哭泣。我的意思是...我以一种完全健康且非常男性化的方式管理了自己的情绪。这就是文章将在没有赎回,解决方案或答案的情况下结束的地方。只是一个破碎的网站和一个不哭的男人的大声抽泣...永远...
...你还在吗?
好吧,你是对的。我不会让你那样吊死。在不存在的SOB会话之后,我向Chatgpt发泄,其中建议了更多的控制台日志,包括让汽车元件打印出其名称空间。那是答案打我的时候。 SVG的名称空间应该是:
<code>https://www.php.cn/link/06b44f22bf01b4bad31391ffe00009c4</code>
但是它实际打印的是:
<code>https://www.w3.org/2000/svg</code>
一封信。那是区别。
通常,您希望一切都安全,但这不是命名空间运行的方式。尽管这两个字符串之间的差异很小,但也可能是文档的。Createlementns(“ gimme-them-svgzers”,“ svg”);。嘿,W3C,我可以加入命名空间委员会吗?
但是为什么有所不同?如果您阅读了这本书,那您会很生气,而这只是我的代码中的错别字,对吗?
您已经在本文中投入了时间,并且我已经伪造了没有答案的伪造。代码错字可能会导致骚乱和大量不良评论。
放心,命名空间在我的代码中是正确的,那么额外的“ S”来自哪里?
我回想起激活主机的优化插件中的功能:自动修复了不安全的页面。它扫描并将不安全的链接转换为安全链接。在大多数情况下,这是正确的举动。但显然,它还在JavaScript代码中更改了名称空间URL。
我禁用了该功能,突然之间,我穿越了银河系,探索行星,汽车会缩小灰色伪元素,并在非常可怕的网站上射击激光,而不是拥有一个非常可怕的网站。没有眼泪(快乐或其他),也没有任何庆祝和令人尴尬的舞蹈动作。
您是否遇到过类似的疯狂故障排除问题?您解决了一个不可能的问题吗?在评论中让我知道。
以上是这不应该发生:对不可能进行故障排除的详细内容。更多信息请关注PHP中文网其他相关文章!

热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

Video Face Swap
使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热门文章

热工具

记事本++7.3.1
好用且免费的代码编辑器

SublimeText3汉化版
中文版,非常好用

禅工作室 13.0.1
功能强大的PHP集成开发环境

Dreamweaver CS6
视觉化网页开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

在本周的平台新闻综述中,Chrome引入了一个用于加载的新属性,Web开发人员的可访问性规范以及BBC Move
