我的一些客户声称,我在英特尔Mac上提供的镀铬产品,但没有在硅Mac上提供。但我不明白。这是因为v8引擎中没有这样的问题。
假设Chrome版本是相同的,排除外部因素,例如与chrome无关的第三方API集成,那么chrome-extesnion在不同的系统(或体系结构)中的工作方式会有所不同吗?
例如,在相同的chrome扩展源代码中,它在Intel上工作,但在苹果硅MacBook上不工作。
我尝试使用关键字(如v8体系结构问题)进行搜索,但什么也找不到。我想找到这个问题的真伪证据。
发布于 2022-11-25 10:10:13
你没有给出足够的细节来给出一个可靠的回应。“我的代码不工作”不是一个有用的问题描述。您需要展示一些显示行为的实际代码,并精确描述其失败的方式(例如,它会产生任何特定的错误消息吗?)
一般来说,Web的部分要点是,客户端设备并不重要:任何地方都应该工作。这也适用于Chrome扩展。
尽管如此,在某些情况下,代码可以了解它正在运行的设备的一些信息,并且有意或意外地表现出不同的行为。一个常见的例子是根据可用的屏幕分辨率显示不同的UI。因此,特别是如果你正在与别人的网站互动,这可能是该网站本身在某些系统上是不同的。
创建Intel/Apple硅Mac差异的最明显方法是查看用户代理字符串,但据我所知,这两种CPU似乎都是相同的。但我确信,代码还有其他方法可以判断它运行在哪个硬件上,例如chrome.system.cpu API,或者某些操作的相对性能差异。
这也是可能的,但不太可能,你已经发现了一个Chrome缺陷。如果您能够识别arm64 Mac上没有正确工作的特定扩展API (或代码模式),那么在crbug.com/new上提交一个bug是有用的--但这必须包括一个特定的repro案例,而不仅仅是“我编写了一些代码,该代码不起作用,请修复”。
作为另一个非常普遍(希望也是显而易见)的声明:当你提供一些软件(不管是Chrome扩展还是其他任何东西)时,你的用户报告说“它在X型设备上工作,但在Y型设备上不起作用”,那么你有责任调查这个问题,这很可能需要你接触Y型设备,至少是暂时的。也许隐藏在某些防御背后是很诱人的,比如“互联网上有人说这是不可能的”或者“一定是Chrome漏洞”,但很有可能是你的代码不够健壮。
https://stackoverflow.com/questions/74567557
复制相似问题