首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >flash.system.Capabilities.screenResolutionY和flash.system.Capabilities.screenResolutionX的报告值是否有错误?

flash.system.Capabilities.screenResolutionY和flash.system.Capabilities.screenResolutionX的报告值是否有错误?
EN

Stack Overflow用户
提问于 2015-08-10 17:54:38
回答 1查看 132关注 0票数 0

我有一个站点,使用.swf文件收集Flash分辨率数据,并从JavaScript收集相同的数据,并将其发送到服务器。

对于一些用户来说,这些数据看上去是错误的-- Flash分辨率有时比浏览器中报告的屏幕分辨率大或小。

例如,一个用户有一个1600x900分辨率屏幕,如JavaScript中所报告的,但屏幕大小为1366x768,这是由Flash报告的。

我使用的ActionScript属性是:

  1. flash.system.Capabilities.screenResolutionX
  2. flash.system.Capabilities.screenResolutionY

我使用的JavaScript属性是:

  1. window.screen.width
  2. window.screen.height

当人们期望这些值在ActionScript或JavaScript中始终不正确时,有什么条件吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-08-10 20:25:17

我认为问题在于flash的flash.system.Capabilities.screenResolutionX/Y属性只报告主监视器的分辨率。(如@akmozo对问题的评论所述)

来自文档:(强调地雷)

此属性不使用用户的屏幕分辨率进行更新,而只是在Flash或Adobe应用程序启动时指示分辨率。此外,值仅指定主屏幕

在JS中(这可能依赖于浏览器),window.screen.width/height将根据浏览器窗口所在的实际监视器进行报告。

因此,在主显示的浏览器窗口是而不是的场景中,您的差异很可能存在。(因此,AS3报告主显示,JS报告实际使用的显示)

如果您需要使用Flash并获得准确的值,我建议您使用以下技术之一:

  1. 使用stage.fullScreenWidth & stage.fullScreenHeight值,它将为您提供当前监视器的分辨率。
  2. 使用ExternalInterface并从JavaScript获取数据: 如果( int(ExternalInterface.call("window.screen.width"));){ var屏幕W:int= int(ExternalInterface.call("window.screen.height"));var屏幕H:int=int(ExternalInterface.call(“window.screen.height”));}
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31926064

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档