我有一个站点,使用.swf文件收集Flash分辨率数据,并从JavaScript收集相同的数据,并将其发送到服务器。
对于一些用户来说,这些数据看上去是错误的-- Flash分辨率有时比浏览器中报告的屏幕分辨率大或小。
例如,一个用户有一个1600x900分辨率屏幕,如JavaScript中所报告的,但屏幕大小为1366x768,这是由Flash报告的。
我使用的ActionScript属性是:
flash.system.Capabilities.screenResolutionXflash.system.Capabilities.screenResolutionY我使用的JavaScript属性是:
window.screen.widthwindow.screen.height当人们期望这些值在ActionScript或JavaScript中始终不正确时,有什么条件吗?
发布于 2015-08-10 20:25:17
我认为问题在于flash的flash.system.Capabilities.screenResolutionX/Y属性只报告主监视器的分辨率。(如@akmozo对问题的评论所述)
来自文档:(强调地雷)
此属性不使用用户的屏幕分辨率进行更新,而只是在Flash或Adobe应用程序启动时指示分辨率。此外,值仅指定主屏幕。
在JS中(这可能依赖于浏览器),window.screen.width/height将根据浏览器窗口所在的实际监视器进行报告。
因此,在主显示的浏览器窗口是而不是的场景中,您的差异很可能存在。(因此,AS3报告主显示,JS报告实际使用的显示)
如果您需要使用Flash并获得准确的值,我建议您使用以下技术之一:
stage.fullScreenWidth & stage.fullScreenHeight值,它将为您提供当前监视器的分辨率。https://stackoverflow.com/questions/31926064
复制相似问题